Merge pull request #1265 from Safelite/feature/humphries/INSR-9937

INSR-9937: Add source system and company code to register claim request
This commit is contained in:
AHumphriesSL 2026-06-18 14:58:20 -04:00 committed by GitHub
commit 5d975359e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 50 additions and 3 deletions

View file

@ -125,7 +125,8 @@ export const getDefaultState = () => ({
}, },
firstName: null, firstName: null,
lastName: null, lastName: null,
emailAddress: null emailAddress: null,
companyCode: null
}, },
serviceLocation: { serviceLocation: {
address: null, address: null,
@ -596,6 +597,7 @@ export const useMainStore = defineStore({
order.customer.address.zipCode = insured?.zipCode?.toString(); order.customer.address.zipCode = insured?.zipCode?.toString();
order.customer.firstName = insured?.firstName; order.customer.firstName = insured?.firstName;
order.customer.lastName = insured?.lastName; order.customer.lastName = insured?.lastName;
order.customer.companyCode = insured?.companyCode;
// populate additional fields // populate additional fields
order.policy.policyData = responsePolicy.policyData; 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. // This is here in case we have to deploy site for other fixes before coverage service gets updated.
isRepair: this.order.damage.isRepair, isRepair: this.order.damage.isRepair,
isItac: isITAC, isItac: isITAC,
sourceSystem: applicationConfig.APPLICATION_NAME,
insured: { insured: {
firstName: this.order.customer.firstName, firstName: this.order.customer.firstName,
lastName: this.order.customer.lastName, lastName: this.order.customer.lastName,
@ -676,6 +679,7 @@ export const useMainStore = defineStore({
actualDeductible: this.currentDeductible.toString() ?? '', actualDeductible: this.currentDeductible.toString() ?? '',
currentRepairDeductible: this.order.currentDeductible.repair, currentRepairDeductible: this.order.currentDeductible.repair,
currentReplaceDeductible: this.order.currentDeductible.replace, currentReplaceDeductible: this.order.currentDeductible.replace,
company: this.order.customer.companyCode
}, },
lossInfo: { lossInfo: {
dateOfLoss: this.order.policy.dateOfLoss, dateOfLoss: this.order.policy.dateOfLoss,
@ -2175,6 +2179,7 @@ export const useMainStore = defineStore({
this.order.customer.address.zipCode = null; this.order.customer.address.zipCode = null;
this.order.customer.address.streetAddress = null; this.order.customer.address.streetAddress = null;
this.order.customer.address.streetAddress2 = null; this.order.customer.address.streetAddress2 = null;
this.order.customer.companyCode = null;
}, },
resetContactInfo() { resetContactInfo() {

View file

@ -16,6 +16,7 @@ import coverageType from '@/constants/coverage-type';
import { getEnumName } from '@/helpers/unit-test-helper'; import { getEnumName } from '@/helpers/unit-test-helper';
import { strictEqual } from 'assert'; import { strictEqual } from 'assert';
import partNumberStrings from '@/constants/part-number-strings'; import partNumberStrings from '@/constants/part-number-strings';
import applicationConfig from '@/constants/application-config';
describe('Store', () => { describe('Store', () => {
let store; let store;
@ -481,6 +482,42 @@ describe('Store', () => {
expect(store.order.insuranceCoverage.coverageStatus).toBe(coverageStatuses.NO_COVERAGE); expect(store.order.insuranceCoverage.coverageStatus).toBe(coverageStatuses.NO_COVERAGE);
expect(store.order.insuranceCoverage.claimNumber).toBe(null); expect(store.order.insuranceCoverage.claimNumber).toBe(null);
}); });
it('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.customer.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', () => { describe('updateContactInfo method', () => {
@ -1299,6 +1336,7 @@ describe('Store', () => {
const zipCode = getRandomString(6, 6); const zipCode = getRandomString(6, 6);
const firstName = getRandomString(6, 6); const firstName = getRandomString(6, 6);
const lastName = getRandomString(6, 6); const lastName = getRandomString(6, 6);
const companyCode = getRandomString(6, 6);
const vehicle = { id: '123' }; const vehicle = { id: '123' };
@ -1313,7 +1351,8 @@ describe('Store', () => {
state, state,
zipCode, zipCode,
firstName, firstName,
lastName lastName,
companyCode
} }
], ],
vehicles: [ vehicles: [
@ -1335,6 +1374,7 @@ describe('Store', () => {
await expect(store.order.customer.address.zipCode).toBe(zipCode); await expect(store.order.customer.address.zipCode).toBe(zipCode);
await expect(store.order.customer.firstName).toBe(firstName); await expect(store.order.customer.firstName).toBe(firstName);
await expect(store.order.customer.lastName).toBe(lastName); await expect(store.order.customer.lastName).toBe(lastName);
await expect(store.order.customer.companyCode).toBe(companyCode)
await expect(store.order.policy.vehicles).toStrictEqual([vehicle]); await expect(store.order.policy.vehicles).toStrictEqual([vehicle]);
}); });
it('calls api with expected data', async () => { it('calls api with expected data', async () => {
@ -1404,7 +1444,8 @@ describe('Store', () => {
lastName: getRandomString(6, 6), lastName: getRandomString(6, 6),
city: getRandomString(6, 6), city: getRandomString(6, 6),
state: getRandomString(6, 6), state: getRandomString(6, 6),
zipCode: getRandomString(6, 6) zipCode: getRandomString(6, 6),
companyCode: getRandomString(6, 6)
}; };
const vehicles = [ const vehicles = [
{ name: getRandomString(6, 6) }, { name: getRandomString(6, 6) },
@ -1435,6 +1476,7 @@ describe('Store', () => {
expect(store.order.customer.address.zipCode).toBe(insured.zipCode); expect(store.order.customer.address.zipCode).toBe(insured.zipCode);
expect(store.order.customer.firstName).toBe(insured.firstName); expect(store.order.customer.firstName).toBe(insured.firstName);
expect(store.order.customer.lastName).toBe(insured.lastName); expect(store.order.customer.lastName).toBe(insured.lastName);
expect(store.order.customer.companyCode).toBe(insured.companyCode);
expect(store.order.policy.vehicles).toEqual(vehicles); expect(store.order.policy.vehicles).toEqual(vehicles);
}); });