From 85aa3ec46fced25b22951b4e3598a7f21bbe5bcd Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Thu, 11 Sep 2025 09:31:53 -0400 Subject: [PATCH] negative test cases --- .../address-lookup/address-lookup.spec.js | 35 ++++++++++++++ .../address-vehicles/address-vehicles.spec.js | 46 ++++++++++++++++++- .../license-plate-lookup.spec.js | 31 +++++++++++++ .../policy-vehicles/policy-vehicles.spec.js | 25 ++++++++++ 4 files changed, 136 insertions(+), 1 deletion(-) diff --git a/src/layouts/address-lookup/address-lookup.spec.js b/src/layouts/address-lookup/address-lookup.spec.js index dba49f52..8285c1d4 100644 --- a/src/layouts/address-lookup/address-lookup.spec.js +++ b/src/layouts/address-lookup/address-lookup.spec.js @@ -504,5 +504,40 @@ describe('address-lookup.vue', () => { // Assert expect(wrapper.findComponent({ ref: 'alertNoService' }).isVisible()).toBe(true); }); + test('selected vehicle is a serviceable big truck, do not display no service alert', async () => { + // Arrange + const mockRegistrationAddress = { + streetAddress: '1234 Main St', + city: 'Columbus', + state: 'OH', + zipCode: '43215' + }; + + const { wrapper } = setupMocks({ + vinVehicles: [ + { + vehicle: { + carId: 'BIGTRUCKCARID2', + isBigTruck: true, + canSafeliteService: true + } + } + ] + }); + + useMainStore().order.vehicle.carId = 'BIGTRUCKCARID2'; + + await wrapper.setData({ + customerQuestions: { + addressQuestions: mockRegistrationAddress + }, + }); + + // Act + await wrapper.vm.$nextTick(); + + // Assert + expect(wrapper.findComponent({ ref: 'alertNoService' }).exists()).toBe(false); + }); }); }); diff --git a/src/layouts/address-vehicles/address-vehicles.spec.js b/src/layouts/address-vehicles/address-vehicles.spec.js index b06233c4..faea9e87 100644 --- a/src/layouts/address-vehicles/address-vehicles.spec.js +++ b/src/layouts/address-vehicles/address-vehicles.spec.js @@ -294,5 +294,49 @@ describe('address-vehicles.vue', () => { // Assert expect(wrapper.findComponent({ ref: 'AlertNoService' }).isVisible()).toBe(true); }); - + + test('selected vehicle is a serviceable big truck, do not display no service alert', async () => { + // Arrange + const { wrapper } = setupMocks({}); + useMainStore().order.vehicle.carId = 'BIGTRUCKCARID2'; + useMainStore().applicationUser = { + pageData: { + 'address-vehicles': + [ + { + vehicle: { + carId: 'BIGTRUCKCARID2', + make: 'Mack', + model: 'Terrapro', + style: 'Cabover', + year: 2024, + isBigTruck: true, + canSafeliteService: true + }, + vin: 'BIGTRUCKVIN2' + } + ] + } + }; + + await wrapper.setData({ + selectedVehicleVin: 'BIGTRUCKVIN2', + previouslyEnteredCarId: 'BIGTRUCKCARID2' + }); +2 + wrapper.vm.selectedVehicle = { + vin: 'BIGTRUCKVIN2', + vehicle: { + carId: 'BIGTRUCKCARID2', + isBigTruck: true, + canSafeliteService: true + } + } + + // Act + await wrapper.vm.$nextTick(); + + // Assert + expect(wrapper.findComponent({ ref: 'AlertNoService' }).exists()).toBe(false); + }); }); diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js index 9448d0c4..76f1c8e5 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -182,6 +182,37 @@ describe('license-plate-lookup.vue', () => { // Assert expect(wrapper.findComponent({ ref: 'alertNoService' }).isVisible()).toBe(true); }); + test('serviceable big truck found, do not display NoServiceAlert', async () => { + // Arrange + const mockRegistrationLicensePlate = { + licensePlate: 'BIGTRUCKTEST2' + }; + + const { wrapper } = setupMocks({ + lookupVinByPlateResponse: { + vin: 'BIGTRUCKVIN2', + vehicle: { + carId: 'BIGTRUCKTESTCARID2', + isBigTruck: true, + canSafeliteService: true + } + } + }); + + useMainStore().order.vehicle.carId = 'BIGTRUCKTESTCARID2'; + + await wrapper.setData({ + licensePlate: mockRegistrationLicensePlate + }); + + wrapper.vm.navigateForward = jest.fn(); + + // Act + await wrapper.vm.forwardButtonAction(); + + // Assert + expect(wrapper.findComponent({ ref: 'alertNoService' }).exists()).toBe(false); + }); }); describe('navigation', () => { diff --git a/src/layouts/policy-vehicles/policy-vehicles.spec.js b/src/layouts/policy-vehicles/policy-vehicles.spec.js index 53d010b7..04b13490 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.spec.js +++ b/src/layouts/policy-vehicles/policy-vehicles.spec.js @@ -762,4 +762,29 @@ describe('policy-vehicles.vue', () => { // Assert expect(wrapper.findComponent({ ref: 'AlertNoService' }).isVisible()).toBe(true); }); + + test('selected vehicle is a serviceable big truck, do not display no service alert', async () => { + // Arrange + const vin = getRandomString(17, 17); + const policyVehicle = { + vin, + isBigTruck: true, + canSafeliteService: true + }; + + const { wrapper } = setupMocks({}); + + await wrapper.setData({ + selectedVehicleVin: vin, + selectedPolicyVehicle: policyVehicle, + policyVehicles: [policyVehicle], + policyVinFound: true + }); + + wrapper.vm.displayNoServiceAlert = false; + await wrapper.vm.$nextTick(); + + // Assert + expect(wrapper.findComponent({ ref: 'AlertNoService' }).exists()).toBe(false); + }); });