diff --git a/src/iss-components/cart-dropdown/__snapshots__/cart-dropdown.spec.js.snap b/src/iss-components/cart-dropdown/__snapshots__/cart-dropdown.spec.js.snap index 8f41a38c..2f061236 100644 --- a/src/iss-components/cart-dropdown/__snapshots__/cart-dropdown.spec.js.snap +++ b/src/iss-components/cart-dropdown/__snapshots__/cart-dropdown.spec.js.snap @@ -7,19 +7,21 @@ Object { "MOBILE_FEE": "MOBILE FEE", "RECYCLE_FEE": "RECYCLE FEE", "VAP": "VAP", + "WARRANTY": "WARRANTY", }, - "isExpanded": false, "widget": Object { "amountDue": "AmountDueTextWidget", "amountPaid": "AmountPaidTextWidget", "basePrice": "BasePriceWidget", "deductible": "DeductibleWidget", + "guaranteeText": "GuaranteeCartItemTextWidget", "mobileFee": "MobileServiceWidget", "recycleFee": "RecycleFeeWidget", "salesTax": "SalesTaxWidget", "servicePackage": "ServicePackageTitle", "subtotal": "SubtotalWidget", "vapsItemDescriptions": "VapsItemDescriptions", + "warrantyText": "WarrantyCartItemTextWidget", }, } `; diff --git a/src/iss-components/cart-dropdown/cart-dropdown.spec.js b/src/iss-components/cart-dropdown/cart-dropdown.spec.js index bab952b4..69fbabb9 100644 --- a/src/iss-components/cart-dropdown/cart-dropdown.spec.js +++ b/src/iss-components/cart-dropdown/cart-dropdown.spec.js @@ -73,47 +73,10 @@ describe('cart-dropdown component', () => { expect(wrapper.vm.$data).toMatchSnapshot(); }); describe('displays', () => { - test('cart dropdown head', () => { - // Arrange - const reference = '#cart-dropdown-head'; - const { wrapper } = getMountedComponent(cartDropdown); - - // Act - const head = wrapper.find(reference); - - // Assert - expect(head.exists()).toBeTruthy(); - }); - test('cart dropdown head is visible', () => { - // Arrange - const reference = '#cart-dropdown-head'; - const { wrapper } = getMountedComponent(cartDropdown, {}, { showDropdownHeader: true }); - - // Act - const head = wrapper.find(reference); - - // Assert - expect(head.exists()).toBeTruthy(); - expect(head.classes()).toContain('cart-toggle'); - }); - test('cart dropdown head is not visible', () => { - // Arrange - const reference = '#cart-dropdown-head'; - const { wrapper } = getMountedComponent(cartDropdown, {}, { showDropdownHeader: false }); - - // Act - const head = wrapper.find(reference); - - // Assert - expect(head.exists()).toBeTruthy(); - expect(head.classes()).not.toContain('cart-toggle'); - }); test('cart table', () => { // Arrange - const reference = '#cart-table'; - const isExpanded = true; - const initialData = { isExpanded }; - const { wrapper } = getMountedComponent({}, {}, initialData); + const reference = '.cart-table'; + const { wrapper } = getMountedComponent({}, {}, {}); // Act const cartTable = wrapper.find(reference); @@ -121,11 +84,9 @@ describe('cart-dropdown component', () => { // Assert expect(cartTable.exists()).toBeTruthy(); }); - test('cart deductible when showDeductibleLineItem is true', () => { + test('cart deductible when showDeductibleCartItem is true', () => { // Arrange - const reference = '#cart-deductible'; - const isExpanded = true; - const initialData = { isExpanded }; + const reference = '#deductible-label'; const storeData = { order: { insuranceCoverage: { @@ -134,7 +95,7 @@ describe('cart-dropdown component', () => { } } }; - const { wrapper } = getMountedComponent(storeData, {}, initialData); + const { wrapper } = getMountedComponent(storeData, {}, {}); // Act const cartDeductible = wrapper.find(reference); @@ -144,9 +105,7 @@ describe('cart-dropdown component', () => { }); test('cart base price when showDeductibleLineItem is false', () => { // Arrange - const reference = '#cart-base-price'; - const isExpanded = true; - const initialData = { isExpanded }; + const reference = '#base-price-label'; const storeData = { order: { currentDeductible: 0, @@ -160,7 +119,7 @@ describe('cart-dropdown component', () => { isClaimRegistrationRequired: true } }; - const { wrapper } = getMountedComponent(storeData, {}, initialData); + const { wrapper } = getMountedComponent(storeData, {}, {}); // Act const cartBasePrice = wrapper.find(reference); @@ -168,25 +127,32 @@ describe('cart-dropdown component', () => { // Assert expect(cartBasePrice.exists()).toBeTruthy(); }); - test('service package', () => { - // Arrange - const reference = '#cart-service-package'; - const isExpanded = true; - const initialData = { isExpanded }; - const { wrapper } = getMountedComponent({}, {}, initialData); - - // Act - const servicePackage = wrapper.find(reference); - - // Assert - expect(servicePackage.exists()).toBeTruthy(); - }); test('non service package cart items', () => { // Arrange - const reference = '#non-packaged-cart-items'; - const isExpanded = true; - const initialData = { isExpanded }; - const { wrapper } = getMountedComponent({}, {}, initialData); + const reference = '.non-packaged.cart-item'; + const part1 = { partType: 'apple' }; + const part2 = { partType: 'banana' }; + const part3 = { partType: 'orange' }; + const mobileFee = { partType: 'mobile' }; + const storeData = { + order: { + currentDeductible: 0, + lineItems: { + glassParts: [part1], + supportingItems: [part2, part3], + otherParts: [], + feeItems: [mobileFee] + }, + insuranceCoverage: { + coverageStatus: coverageStatuses.VERIFIED, + coverageType: coverageType.ITAC + } + }, + issConfig: { + isClaimRegistrationRequired: true + } + }; + const { wrapper } = getMountedComponent(storeData, {}, {}); // Act const nonPackagedCartItems = wrapper.find(reference); @@ -220,9 +186,7 @@ describe('cart-dropdown component', () => { test('cart footer', () => { // Arrange const reference = '#cart-footer'; - const isExpanded = true; - const initialData = { isExpanded }; - const { wrapper } = getMountedComponent({}, {}, initialData); + const { wrapper } = getMountedComponent({}, {}, {}); // Act const cartFooter = wrapper.find(reference); @@ -233,9 +197,7 @@ describe('cart-dropdown component', () => { test('subtotal', () => { // Arrange const reference = '#cart-subtotal'; - const isExpanded = true; - const initialData = { isExpanded }; - const { wrapper } = getMountedComponent({}, {}, initialData); + const { wrapper } = getMountedComponent({}, {}, {}); // Act const subtotal = wrapper.find(reference); @@ -246,9 +208,7 @@ describe('cart-dropdown component', () => { test('tax', () => { // Arrange const reference = '#cart-sales-tax'; - const isExpanded = true; - const initialData = { isExpanded }; - const { wrapper } = getMountedComponent({}, {}, initialData); + const { wrapper } = getMountedComponent({}, {}, {}); // Act const salesTax = wrapper.find(reference); @@ -280,9 +240,7 @@ describe('cart-dropdown component', () => { test('bottom amount due', () => { // Arrange const reference = '#bottom-amount-due'; - const isExpanded = true; - const initialData = { isExpanded }; - const { wrapper } = getMountedComponent({}, {}, initialData); + const { wrapper } = getMountedComponent({}, {}, {}); // Act const bottomAmountDue = wrapper.find(reference); @@ -295,8 +253,6 @@ describe('cart-dropdown component', () => { test('cart deductible when showDeductibleLineItem is false', () => { // Arrange const reference = '#cart-deductible'; - const isExpanded = true; - const initialData = { isExpanded }; const storeData = { order: { currentDeductible: 0, @@ -310,7 +266,7 @@ describe('cart-dropdown component', () => { isClaimRegistrationRequired: true } }; - const { wrapper } = getMountedComponent(storeData, {}, initialData); + const { wrapper } = getMountedComponent(storeData, {}, {}); // Act const cartDeductible = wrapper.find(reference); @@ -321,8 +277,6 @@ describe('cart-dropdown component', () => { test('cart base price when showDeductibleLineItem is true', () => { // Arrange const reference = '#cart-base-price'; - const isExpanded = true; - const initialData = { isExpanded }; const storeData = { order: { insuranceCoverage: { @@ -331,7 +285,7 @@ describe('cart-dropdown component', () => { } } }; - const { wrapper } = getMountedComponent(storeData, {}, initialData); + const { wrapper } = getMountedComponent(storeData, {}, {}); // Act const cartBasePrice = wrapper.find(reference); @@ -1223,91 +1177,6 @@ describe('cart-dropdown component', () => { expect(result.name).toBe(expectedName); }); }); - describe('packagePrice', () => { - test('returns 0 when servicePackageCartItems is empty', () => { - // Arrange - getPriceOfLineItems.mockImplementation(() => 123); - getPackageContents.mockImplementationOnce(() => []); - const storeData = { - order: { - lineItems: { - vaps: [ - { - partType: partTypeStrings.REAR_WIPER - } - ] - } - } - }; - const { wrapper } = getMountedComponent(storeData); - - // Act - const result = wrapper.vm.packagePrice; - - // Assert - expect(result).toBe(0); - }); - test('returns expected when servicePackageCartItems not empty', () => { - // Arrange - const rearPrice = 101; - const frontPrice = 9; - getPriceOfLineItems.mockImplementation((lineItems) => { - if (lineItems.some((item) => item?.partType === partTypeStrings.FRONT_WIPER)) { - return frontPrice; - } - if (lineItems.some((item) => item?.partType === partTypeStrings.REAR_WIPER)) { - return rearPrice; - } - return 1; - }); - getPackageContents.mockImplementationOnce(() => [partTypeStrings.FRONT_WIPER, partTypeStrings.REAR_WIPER]); - const storeData = { - order: { - lineItems: { - vaps: [ - { partType: partTypeStrings.FRONT_WIPER }, - { partType: partTypeStrings.REAR_WIPER } - ] - } - } - }; - const { wrapper } = getMountedComponent(storeData); - const expectedPrice = 110; - - // Act - const result = wrapper.vm.packagePrice; - - // Assert - expect(result).toBe(expectedPrice); - }); - test('returns expected when servicePackageCartItems has one item', () => { - // Arrange - const frontPrice = 9; - getPriceOfLineItems.mockImplementation((lineItems) => { - if (lineItems.some((item) => item?.partType === partTypeStrings.FRONT_WIPER)) { - return frontPrice; - } - return 1; - }); - getPackageContents.mockImplementationOnce(() => [partTypeStrings.FRONT_WIPER, partTypeStrings.REAR_WIPER]); - const storeData = { - order: { - lineItems: { - vaps: [ - { partType: partTypeStrings.FRONT_WIPER } - ] - } - } - }; - const { wrapper } = getMountedComponent(storeData); - - // Act - const result = wrapper.vm.packagePrice; - - // Assert - expect(result).toBe(frontPrice); - }); - }); }); describe('method', () => { const dollarAmount = '$84.00'; diff --git a/src/iss-components/cart-dropdown/cart-dropdown.vue b/src/iss-components/cart-dropdown/cart-dropdown.vue index 61dc8449..da404697 100644 --- a/src/iss-components/cart-dropdown/cart-dropdown.vue +++ b/src/iss-components/cart-dropdown/cart-dropdown.vue @@ -22,7 +22,7 @@