From 6f51031ecea3e1ba78588fb3344bf9a137425bf5 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Wed, 17 Jun 2026 15:44:48 -0400 Subject: [PATCH 1/5] INSR-9937: Add source system and company code to register claim request --- src/store/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/store/index.js b/src/store/index.js index 62a80354..8b7e8295 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -165,7 +165,8 @@ export const getDefaultState = () => ({ coverageStatus: coverageStatuses.PENDING, coverageType: coverageType.NONE, isItacOptimized: false, - claimNumber: null + claimNumber: null, + companyCode: null }, payment: { parentAccountNumber: 0, @@ -596,6 +597,7 @@ export const useMainStore = defineStore({ order.customer.address.zipCode = insured?.zipCode?.toString(); order.customer.firstName = insured?.firstName; order.customer.lastName = insured?.lastName; + order.insuranceCoverage.companyCode = insured?.companyCode; // populate additional fields order.policy.policyData = responsePolicy.policyData; @@ -646,6 +648,7 @@ export const useMainStore = defineStore({ // This is here in case we have to deploy site for other fixes before coverage service gets updated. isRepair: this.order.damage.isRepair, isItac: isITAC, + sourceSystem: applicationConfig.APPLICATION_NAME, insured: { firstName: this.order.customer.firstName, lastName: this.order.customer.lastName, @@ -676,6 +679,7 @@ export const useMainStore = defineStore({ actualDeductible: this.currentDeductible.toString() ?? '', currentRepairDeductible: this.order.currentDeductible.repair, currentReplaceDeductible: this.order.currentDeductible.replace, + company: this.order.insuranceCoverage.companyCode }, lossInfo: { dateOfLoss: this.order.policy.dateOfLoss, @@ -1943,6 +1947,7 @@ export const useMainStore = defineStore({ this.order.insuranceCoverage.coverageType = coverageType.NONE; this.order.insuranceCoverage.isItacOptimized = false; this.order.insuranceCoverage.claimNumber = null; + this.order.insuranceCoverage.companyCode = null; }, updateGlassFees(feeData) { if (feeData == null) { From 6d52832b4af8fa2021eb58f130076c73ca2f14e4 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Wed, 17 Jun 2026 16:01:19 -0400 Subject: [PATCH 2/5] Clear companyCode on failed/empty policy lookup, just in case --- src/store/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/store/index.js b/src/store/index.js index 8b7e8295..16af68c3 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -609,9 +609,11 @@ export const useMainStore = defineStore({ order.policy.policyLookupErrorCode = response?.data?.errorCode; } this.updateCoverageType(coverageType.NONE); + order.insuranceCoverage.companyCode = null; } } catch (e) { this.updateCoverageType(coverageType.NONE); + order.insuranceCoverage.companyCode = null; } }, clearDuplicateOrders() { From 89e04c0019e7c0d5391794830d62853c1520bf6a Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Wed, 17 Jun 2026 16:54:38 -0400 Subject: [PATCH 3/5] Unit test updates --- src/store/store.spec.js | 46 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 7b9d4355..91dd82b0 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -16,6 +16,7 @@ import coverageType from '@/constants/coverage-type'; import { getEnumName } from '@/helpers/unit-test-helper'; import { strictEqual } from 'assert'; import partNumberStrings from '@/constants/part-number-strings'; +import applicationConfig from '@/constants/application-config'; describe('Store', () => { let store; @@ -481,6 +482,42 @@ describe('Store', () => { expect(store.order.insuranceCoverage.coverageStatus).toBe(coverageStatuses.NO_COVERAGE); expect(store.order.insuranceCoverage.claimNumber).toBe(null); }); + + it.only('calls api with expected data', async () => { + // Arrange + const companyCode = getRandomString(6, 6); + const originalDeductible = { + replace: 500, + repair: 0 + }; + const currentDeductible = { + replace: 500, + repair: 0 + }; + store.order.originalDeductible = { + replace: originalDeductible.replace, + repair: originalDeductible.repair + }; + store.order.currentDeductible = { + replace: currentDeductible.replace, + repair: currentDeductible.repair + }; + store.order.insuranceCoverage.companyCode = companyCode; + globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({})); + + // Act + await store.registerClaim(); + + // Asserts + expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({ + payload: expect.objectContaining({ + sourceSystem: applicationConfig.APPLICATION_NAME, + policyInfo: expect.objectContaining({ + company: companyCode + }) + }) + })); + }); }); describe('updateContactInfo method', () => { @@ -1299,6 +1336,7 @@ describe('Store', () => { const zipCode = getRandomString(6, 6); const firstName = getRandomString(6, 6); const lastName = getRandomString(6, 6); + const companyCode = getRandomString(6, 6); const vehicle = { id: '123' }; @@ -1313,7 +1351,8 @@ describe('Store', () => { state, zipCode, firstName, - lastName + lastName, + companyCode } ], vehicles: [ @@ -1335,6 +1374,7 @@ describe('Store', () => { await expect(store.order.customer.address.zipCode).toBe(zipCode); await expect(store.order.customer.firstName).toBe(firstName); await expect(store.order.customer.lastName).toBe(lastName); + await expect(store.order.insuranceCoverage.companyCode).toBe(companyCode) await expect(store.order.policy.vehicles).toStrictEqual([vehicle]); }); it('calls api with expected data', async () => { @@ -1404,7 +1444,8 @@ describe('Store', () => { lastName: getRandomString(6, 6), city: getRandomString(6, 6), state: getRandomString(6, 6), - zipCode: getRandomString(6, 6) + zipCode: getRandomString(6, 6), + companyCode: getRandomString(6, 6) }; const vehicles = [ { name: getRandomString(6, 6) }, @@ -1435,6 +1476,7 @@ describe('Store', () => { expect(store.order.customer.address.zipCode).toBe(insured.zipCode); expect(store.order.customer.firstName).toBe(insured.firstName); expect(store.order.customer.lastName).toBe(insured.lastName); + expect(store.order.insuranceCoverage.companyCode).toBe(insured.companyCode); expect(store.order.policy.vehicles).toEqual(vehicles); }); From b19e63e70205b332eed82b073f0559b14eaece57 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Wed, 17 Jun 2026 17:13:01 -0400 Subject: [PATCH 4/5] Move companyCode from insuranceCoverage to customer, fix tests --- src/store/index.js | 16 ++++++++-------- src/store/store.spec.js | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 16af68c3..04916d18 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -125,7 +125,8 @@ export const getDefaultState = () => ({ }, firstName: null, lastName: null, - emailAddress: null + emailAddress: null, + companyCode: null }, serviceLocation: { address: null, @@ -165,8 +166,7 @@ export const getDefaultState = () => ({ coverageStatus: coverageStatuses.PENDING, coverageType: coverageType.NONE, isItacOptimized: false, - claimNumber: null, - companyCode: null + claimNumber: null }, payment: { parentAccountNumber: 0, @@ -597,7 +597,7 @@ export const useMainStore = defineStore({ order.customer.address.zipCode = insured?.zipCode?.toString(); order.customer.firstName = insured?.firstName; order.customer.lastName = insured?.lastName; - order.insuranceCoverage.companyCode = insured?.companyCode; + order.customer.companyCode = insured?.companyCode; // populate additional fields order.policy.policyData = responsePolicy.policyData; @@ -609,11 +609,11 @@ export const useMainStore = defineStore({ order.policy.policyLookupErrorCode = response?.data?.errorCode; } this.updateCoverageType(coverageType.NONE); - order.insuranceCoverage.companyCode = null; + order.customer.companyCode = null; } } catch (e) { this.updateCoverageType(coverageType.NONE); - order.insuranceCoverage.companyCode = null; + order.customer.companyCode = null; } }, clearDuplicateOrders() { @@ -681,7 +681,7 @@ export const useMainStore = defineStore({ actualDeductible: this.currentDeductible.toString() ?? '', currentRepairDeductible: this.order.currentDeductible.repair, currentReplaceDeductible: this.order.currentDeductible.replace, - company: this.order.insuranceCoverage.companyCode + company: this.order.customer.companyCode }, lossInfo: { dateOfLoss: this.order.policy.dateOfLoss, @@ -1949,7 +1949,6 @@ export const useMainStore = defineStore({ this.order.insuranceCoverage.coverageType = coverageType.NONE; this.order.insuranceCoverage.isItacOptimized = false; this.order.insuranceCoverage.claimNumber = null; - this.order.insuranceCoverage.companyCode = null; }, updateGlassFees(feeData) { if (feeData == null) { @@ -2182,6 +2181,7 @@ export const useMainStore = defineStore({ this.order.customer.address.zipCode = null; this.order.customer.address.streetAddress = null; this.order.customer.address.streetAddress2 = null; + this.order.customer.companyCode = null; }, resetContactInfo() { diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 91dd82b0..8cf40ee3 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -483,7 +483,7 @@ describe('Store', () => { expect(store.order.insuranceCoverage.claimNumber).toBe(null); }); - it.only('calls api with expected data', async () => { + it('calls api with expected data', async () => { // Arrange const companyCode = getRandomString(6, 6); const originalDeductible = { @@ -502,7 +502,7 @@ describe('Store', () => { replace: currentDeductible.replace, repair: currentDeductible.repair }; - store.order.insuranceCoverage.companyCode = companyCode; + store.order.customer.companyCode = companyCode; globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({})); // Act @@ -1374,7 +1374,7 @@ describe('Store', () => { await expect(store.order.customer.address.zipCode).toBe(zipCode); await expect(store.order.customer.firstName).toBe(firstName); await expect(store.order.customer.lastName).toBe(lastName); - await expect(store.order.insuranceCoverage.companyCode).toBe(companyCode) + await expect(store.order.customer.companyCode).toBe(companyCode) await expect(store.order.policy.vehicles).toStrictEqual([vehicle]); }); it('calls api with expected data', async () => { @@ -1476,7 +1476,7 @@ describe('Store', () => { expect(store.order.customer.address.zipCode).toBe(insured.zipCode); expect(store.order.customer.firstName).toBe(insured.firstName); expect(store.order.customer.lastName).toBe(insured.lastName); - expect(store.order.insuranceCoverage.companyCode).toBe(insured.companyCode); + expect(store.order.customer.companyCode).toBe(insured.companyCode); expect(store.order.policy.vehicles).toEqual(vehicles); }); From f8345d5b9f4e2d78af5ae743b5c3571f415029f6 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Thu, 18 Jun 2026 11:28:02 -0400 Subject: [PATCH 5/5] INSR-9937: No longer need to null out company code on policy lookup fail --- src/store/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 04916d18..04c916e6 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -609,11 +609,9 @@ export const useMainStore = defineStore({ order.policy.policyLookupErrorCode = response?.data?.errorCode; } this.updateCoverageType(coverageType.NONE); - order.customer.companyCode = null; } } catch (e) { this.updateCoverageType(coverageType.NONE); - order.customer.companyCode = null; } }, clearDuplicateOrders() {