Merge branch 'develop' into rslmerge/2026.07.16-to-develop

This commit is contained in:
mvalaiyapathi 2026-07-10 12:05:17 -04:00 committed by GitHub
commit d8b052c3b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 303 additions and 19 deletions

View file

@ -15,6 +15,7 @@ export interface ITestData extends base {
isMSRZip?: boolean, isMSRZip?: boolean,
isPIAEnabled?: boolean, isPIAEnabled?: boolean,
isDualRecal?: boolean, isDualRecal?: boolean,
isNewInsuranceFlow?: boolean,
} }

View file

@ -33,6 +33,7 @@ import { EndorsementsPage } from "../pages/EndorsementsPage"
import { PolicyDriverPage } from "../pages/PolicyDriverPage" import { PolicyDriverPage } from "../pages/PolicyDriverPage"
import { ServiceZipPage } from "../pages/ServiceZipPage" import { ServiceZipPage } from "../pages/ServiceZipPage"
import { MobileDetailsPage } from "pages/MobileDetailsPage"; import { MobileDetailsPage } from "pages/MobileDetailsPage";
import { PolicyInfoPage } from "../pages/PolicyInfoPage";
import { BailoutPage } from '../pages/BailoutPage'; import { BailoutPage } from '../pages/BailoutPage';
import { BailoutSuccessPage } from '../pages/BailoutSuccessPage'; import { BailoutSuccessPage } from '../pages/BailoutSuccessPage';
@ -53,6 +54,7 @@ export interface ITestPages {
orderConfirmationPage: OrderConfirmationPage, orderConfirmationPage: OrderConfirmationPage,
partQuestionsPage: PartQuestionsPage, partQuestionsPage: PartQuestionsPage,
paymentMethodPage: PaymentMethodPage, paymentMethodPage: PaymentMethodPage,
policyInfoPage: PolicyInfoPage,
policyInfoSubmittedPage: PolicyInfoSubmittedPage, policyInfoSubmittedPage: PolicyInfoSubmittedPage,
policyVehiclesPage: PolicyVehiclesPage, policyVehiclesPage: PolicyVehiclesPage,
heritageProblemGlassQuestionsPage: HeritageProblemGlassQuestionsPage, heritageProblemGlassQuestionsPage: HeritageProblemGlassQuestionsPage,
@ -92,6 +94,7 @@ export const createTestPages: TestPagesFactory<ITestPages> = (page: Page) => {
orderConfirmationPage: new OrderConfirmationPage(page), orderConfirmationPage: new OrderConfirmationPage(page),
partQuestionsPage: new PartQuestionsPage(page), partQuestionsPage: new PartQuestionsPage(page),
paymentMethodPage: new PaymentMethodPage(page), paymentMethodPage: new PaymentMethodPage(page),
policyInfoPage: new PolicyInfoPage(page),
policyInfoSubmittedPage: new PolicyInfoSubmittedPage(page), policyInfoSubmittedPage: new PolicyInfoSubmittedPage(page),
policyVehiclesPage: new PolicyVehiclesPage(page), policyVehiclesPage: new PolicyVehiclesPage(page),
heritageProblemGlassQuestionsPage: new HeritageProblemGlassQuestionsPage(page), heritageProblemGlassQuestionsPage: new HeritageProblemGlassQuestionsPage(page),

View file

@ -0,0 +1,20 @@
import { expect, type Page } from '@playwright/test';
import { BasePage } from './BasePage';
import { step } from 'framework/localTypes/Step';
import { TestSuccessAlert } from 'safelite-playwright-core';
import { ITestData } from 'framework/TestData';
export class PolicyInfoPage extends BasePage {
constructor(page: Page) {
super(page);
// TODO: Add locators for the page once the card is in test (CASH-2468)
}
@step("PolicyInfoPage >> Continue")
async handlePolicyInfoPage(testData: Partial<ITestData>): Promise<void> {
await expect(this.page).toHaveURL(/\/fmg\/policy-info/);
throw new TestSuccessAlert('Policy info page validated successfully.');
}
}

View file

@ -3,7 +3,7 @@ import { BasePage } from './BasePage';
import { IAppointmentDetails, ServiceLocation } from 'safelite-playwright-core'; import { IAppointmentDetails, ServiceLocation } from 'safelite-playwright-core';
import { formatDate, formatTime } from 'safelite-playwright-core'; import { formatDate, formatTime } from 'safelite-playwright-core';
import { AppointmentTimeslot } from 'safelite-playwright-core'; import { AppointmentTimeslot } from 'safelite-playwright-core';
import { ProgressBarPercentages } from 'framework/localTypes/Enums'; import { ProgressBarPercentages, PaymentMethod } from 'framework/localTypes/Enums';
import { time } from 'console'; import { time } from 'console';
import { step } from 'framework/localTypes/Step'; import { step } from 'framework/localTypes/Step';
import { ITestData } from 'framework/TestData'; import { ITestData } from 'framework/TestData';
@ -261,11 +261,11 @@ export class SchedulePage extends BasePage {
await this.waitForPageOrComponentload(); await this.waitForPageOrComponentload();
await this.validateProgressBar(ProgressBarPercentages.SchedulePage); await this.validateProgressBar(ProgressBarPercentages.SchedulePage);
//Looks like an issue with the insurance flow - remove comments once fixed //Labor2 fee will show for cash orders and some insurance orders but USAA will not show it
/*if (testData.isHeavyTruck) { if (testData.isHeavyTruck && (testData.paymentMethod !== PaymentMethod.Insurance || testData.claimDetails?.client !== 'USAA')) {
const vuexState = JSON.parse(await this.page.evaluate('localStorage.getItem(\'vuex\')')); const vuexState = JSON.parse(await this.page.evaluate('localStorage.getItem(\'vuex\')'));
expect(vuexState.order.lineItems.supportingItems.find((item: any) => item && item.partNumber == "labor2")).toBeTruthy(); expect(vuexState.order.lineItems.supportingItems[0].partNumber).toBe("LABOR2");
}*/ }
if (handleMobileFirstModal) { if (handleMobileFirstModal) {
return await this.handleMobileFirstPopUp(testData); return await this.handleMobileFirstPopUp(testData);

View file

@ -41,12 +41,15 @@ import { getTestObject, TestCase, prepareTest, RuleEngine, TestInfo } from 'fram
import { createTestPages } from "framework/TestPages"; import { createTestPages } from "framework/TestPages";
import cashReplaceSwitchToInsuranceProgressiveNoCompTests from "./CashReplaceSwitchToInsuranceProgressiveNoComp"; import cashReplaceSwitchToInsuranceProgressiveNoCompTests from "./CashReplaceSwitchToInsuranceProgressiveNoComp";
import insuranceUSAABigTruckVerifiedTests from "./InsuranceUSAABigTruckVerified"; import insuranceUSAABigTruckVerifiedTests from "./InsuranceUSAABigTruckVerified";
import insuranceAllstateBigTruckUnverifiedTests from "./InsuranceAllstateBigTruckUnverified";
import partsNotFoundBailoutTests from "./PartsNotFoundBailout"; import partsNotFoundBailoutTests from "./PartsNotFoundBailout";
import insuranceUnverifiedTests from "./InsuranceUnverified"; import insuranceUnverifiedTests from "./InsuranceUnverified";
import CashReplaceSplitWindshieldTests from "./CashReplaceSplitWindshield"; import CashReplaceSplitWindshieldTests from "./CashReplaceSplitWindshield";
import insuranceMeemicNearSchoolVerifiedTests from "./InsuranceMeemicNearSchoolVerified"; import insuranceMeemicNearSchoolVerifiedTests from "./InsuranceMeemicNearSchoolVerified";
import insuranceLibertyMutualTests from "./InsuranceLibertyMutual";
import cashReplaceDualMobileMSRTests from "./CashReplaceDualMobileMSR"; import cashReplaceDualMobileMSRTests from "./CashReplaceDualMobileMSR";
import cashReplaceDualNonMSRInshopTests from "./CashReplaceDualNonMSRInshop"; import cashReplaceDualNonMSRInshopTests from "./CashReplaceDualNonMSRInshop";
import cashBigTruckTests from "./CashBigTruck";
const test = getTestObject(); const test = getTestObject();
@ -84,6 +87,7 @@ const allStandardTests = [
{ name: "CashReplaceVinMobile", tests: cashReplaceVinMobileTests }, { name: "CashReplaceVinMobile", tests: cashReplaceVinMobileTests },
{ name: "CashReplaceWiperDropoff", tests: cashReplaceWiperDropoffTests }, { name: "CashReplaceWiperDropoff", tests: cashReplaceWiperDropoffTests },
{ name: "CashReplaceStaticInshop", tests: cashReplaceStaticInshopTests }, { name: "CashReplaceStaticInshop", tests: cashReplaceStaticInshopTests },
{ name: "CashBigTruck", tests: cashBigTruckTests },
{ name: "CashReplaceDualMobileMSR", tests: cashReplaceDualMobileMSRTests }, { name: "CashReplaceDualMobileMSR", tests: cashReplaceDualMobileMSRTests },
{ name: "CashReplaceDualNonMSRInshop", tests: cashReplaceDualNonMSRInshopTests }, { name: "CashReplaceDualNonMSRInshop", tests: cashReplaceDualNonMSRInshopTests },
{ name: "CashReplaceStaticMobileMSR", tests: cashReplaceStaticMobileMSRTests }, { name: "CashReplaceStaticMobileMSR", tests: cashReplaceStaticMobileMSRTests },
@ -97,12 +101,15 @@ const allStandardTests = [
{ name: "InsuranceITAC21stCentury", tests: insuranceITAC21stCenturyTests }, { name: "InsuranceITAC21stCentury", tests: insuranceITAC21stCenturyTests },
{ name: "InsuranceNoCompProgressive", tests: insuranceNoCompProgressiveTests }, { name: "InsuranceNoCompProgressive", tests: insuranceNoCompProgressiveTests },
{name: "InsuranceUSAABigTruckVerified", tests: insuranceUSAABigTruckVerifiedTests}, {name: "InsuranceUSAABigTruckVerified", tests: insuranceUSAABigTruckVerifiedTests},
{ name: "InsuranceAllstateBigTruckUnverified", tests: insuranceAllstateBigTruckUnverifiedTests },
{ name: "InsuranceOEMAllstate", tests: insuranceOEMAllstateTests }, { name: "InsuranceOEMAllstate", tests: insuranceOEMAllstateTests },
{ name: "InsuranceUnverified", tests: insuranceUnverifiedTests }, { name: "InsuranceUnverified", tests: insuranceUnverifiedTests },
// {name: "InsuranceGeico", tests: insuranceGeicoTests}, // {name: "InsuranceGeico", tests: insuranceGeicoTests},
// {name: "InsuranceITACOptimizedPriceValidationAllState", tests: insuranceITACOptimizedPriceValidationAllStateTests} // {name: "InsuranceITACOptimizedPriceValidationAllState", tests: insuranceITACOptimizedPriceValidationAllStateTests}
{ name: "InsuranceMeemicNearSchoolVerified", tests: insuranceMeemicNearSchoolVerifiedTests }, { name: "InsuranceMeemicNearSchoolVerified", tests: insuranceMeemicNearSchoolVerifiedTests },
// { name: "PartsNotFoundBailout", tests: partsNotFoundBailoutTests }, // code is not available in QA //{ name: "InsuranceLibertyMutual", tests: insuranceLibertyMutualTests }, // uncomment when new C&C pages are built out for this entire flow
{ name: "PartsNotFoundBailout", tests: partsNotFoundBailoutTests }
]; ];
// Alert validation scenarios // Alert validation scenarios
@ -357,7 +364,7 @@ async function runWorkflow(page: Page, testCase: TestCase) {
} }
async function handleInsuranceFlow(testCase: TestCase) { async function handleInsuranceFlow(testCase: TestCase) {
const { isPolicyFound, isPolicyDriver, endorsements, isRecalVehicle, isCashInsuranceFlow, isForcedOEM, flow } = testCase.testData; const { isPolicyFound, isPolicyDriver, endorsements, isRecalVehicle, isCashInsuranceFlow, isForcedOEM, flow, isNewInsuranceFlow } = testCase.testData;
// Check if the insurance policy has endorsements // Check if the insurance policy has endorsements
const hasEndorsements = endorsements && endorsements.length > 0; const hasEndorsements = endorsements && endorsements.length > 0;
@ -373,6 +380,13 @@ async function handleInsuranceFlow(testCase: TestCase) {
await HeritageProblemGlassQuestionsPage.handleHeritageProblemGlassQuestionsPage(testCase.testData); await HeritageProblemGlassQuestionsPage.handleHeritageProblemGlassQuestionsPage(testCase.testData);
} }
// Liberty Mutual route directly to PolicyInfoPage instead of CCPolicyInfoPage
if (isNewInsuranceFlow) {
let policyInfoPage = testCase.pages.policyInfoPage;
await policyInfoPage.handlePolicyInfoPage(testCase.testData);
return;
}
// Handle ccPolicyInfoPage // Handle ccPolicyInfoPage
let ccPolicyInfoPage = testCase.pages.ccPolicyInfoPage; let ccPolicyInfoPage = testCase.pages.ccPolicyInfoPage;
await ccPolicyInfoPage.handleCCPolicyInfoPage(testCase.testData); await ccPolicyInfoPage.handleCCPolicyInfoPage(testCase.testData);

View file

@ -0,0 +1,64 @@
import { ITestData, getDefaultExperimentsData } from 'framework/TestData'
import { ServiceLocation, PaymentType } from 'safelite-playwright-core';
import { ITestCase } from '../framework/Typedefs'
import { PaymentMethod } from "framework/localTypes/Enums";
import { VehicleLookupType } from 'safelite-playwright-core';
import { getDefaultTestData, setFakerSeedFromTestName } from 'safelite-playwright-core';
setFakerSeedFromTestName("CashBigTruckInshop");
const cashBigTruckData: Partial<ITestData> = {
...getDefaultTestData(),
paymentMethod: PaymentMethod.SelfPay,
isHeavyTruck: true,
isCanNotRecal: true,
customerDetails: {
...getDefaultTestData().customerDetails!,
firstName: 'Big',
lastName: 'Truck',
address: {
...getDefaultTestData().customerDetails!.address,
city: 'Urbancrest',
state: 'Ohio',
postalCode: '43123'
}
},
vehicleDetails: {
...getDefaultTestData().vehicleDetails!,
year: '2025',
make: 'Peterbilt',
model: '579',
style: 'conventional cab',
vin: '1XPBDP9X6SD693446',
vehicleLookupType: VehicleLookupType.Vin,
},
appointmentDetails: {
serviceLocation: ServiceLocation.InShop,
shopAddress: '3455 Centerpoint Dr, Urbancrest, OH 43123',
appointmentDate: getDefaultTestData().appointmentDetails?.appointmentDate
},
paymentDetails: {
paymentType: PaymentType.PayAtService
},
experiments: {
...getDefaultExperimentsData()
}
}
const cashBigTruckTests: ITestCase[] = [];
const tc = {
name: `CashBigTruck`,
tags: ['@E2E', '@CashBigTruck', '@test_report', '@CASH'],
testData: cashBigTruckData
};
cashBigTruckTests.push(tc);
export default cashBigTruckTests;

View file

@ -0,0 +1,74 @@
import { ITestData, getDefaultExperimentsData } from 'framework/TestData'
import { ServiceLocation, DamageType } from 'safelite-playwright-core';
import { ITestCase } from '../framework/Typedefs'
import { PaymentMethod } from "framework/localTypes/Enums";
import { VehicleLookupType } from 'safelite-playwright-core';
import { getDefaultTestData, setFakerSeedFromTestName } from 'safelite-playwright-core';
setFakerSeedFromTestName("InsuranceAllstateBigTruckUnverified");
const insuranceAllstateBigTruckUnverifiedData: Partial<ITestData> = {
...getDefaultTestData(),
paymentMethod: PaymentMethod.Insurance,
isPolicyFound: false,
isPolicyUnverified: true,
isHeavyTruck: true,
isCanNotRecal: true,
customerDetails: {
...getDefaultTestData().customerDetails!,
firstName: 'Big',
lastName: 'Truck',
address: {
...getDefaultTestData().customerDetails!.address,
city: 'Dayton',
state: 'Ohio',
postalCode: '45424'
}
},
claimDetails: {
client: 'Allstate',
policyNumber: 'MockUnverifiedBigTruck',
policyDeductible: "Unverified",
policyZip: '45424',
damageDate: new Date(new Date().setDate(new Date().getDate() - 1))
.toLocaleDateString('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' }),
damageCause: DamageType.Rock
},
vehicleDetails: {
...getDefaultTestData().vehicleDetails!,
year: '2025',
make: 'Peterbilt',
model: '579',
style: 'conventional cab',
vin: '1XPBDP9X6SD693446',
vehicleLookupType: VehicleLookupType.Zip,
},
appointmentDetails: {
serviceLocation: ServiceLocation.InShop,
shopAddress: '5719 Brandt Pike, Dayton, OH 45424',
appointmentDate: getDefaultTestData().appointmentDetails?.appointmentDate
},
paymentDetails: {},
experiments: {
...getDefaultExperimentsData()
}
}
const insuranceAllstateBigTruckUnverifiedTests: ITestCase[] = [];
const tc = {
name: `InsuranceAllstateBigTruckUnverified`,
tags: ['@E2E', '@InsuranceAllstateBigTruckUnverified', '@test_report', '@Insurance'],
testData: insuranceAllstateBigTruckUnverifiedData
};
insuranceAllstateBigTruckUnverifiedTests.push(tc);
export default insuranceAllstateBigTruckUnverifiedTests;

View file

@ -0,0 +1,54 @@
import { ITestData, getDefaultExperimentsData } from 'framework/TestData'
import { DamageType, VehicleLookupType, VehicleDamage } from 'safelite-playwright-core';
import { PaymentMethod } from "framework/localTypes/Enums";
import { ITestCase } from '../framework/Typedefs'
import { getDefaultTestData, setFakerSeedFromTestName } from 'safelite-playwright-core';
setFakerSeedFromTestName("InsuranceLibertyMutual");
const insuranceLibertyMutualData: Partial<ITestData> = {
...getDefaultTestData(),
paymentMethod: PaymentMethod.Insurance,
isNewInsuranceFlow: true,
claimDetails: {
client: 'Liberty Mutual Insurance',
policyNumber: 'Mock123456LM',
policyDeductible: 0,
damageDate: new Date(new Date().setDate(new Date().getDate() - 1)).toLocaleDateString('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' }),
damageCause: DamageType.Hail
},
// Vehicle details for truck with ZIP lookup
vehicleDetails: {
...getDefaultTestData().vehicleDetails!,
year: '2015',
make: 'Toyota',
model: 'Tacoma Pickup',
style: '4 door crew cab',
vehicleLookupType: VehicleLookupType.Zip,
},
// Driver door damage instead of windshield
vehicleDamage: [
VehicleDamage.DriverFrontDoor,
],
paymentDetails: {},
experiments: {
...getDefaultExperimentsData()
}
};
const insuranceLibertyMutualTests: ITestCase[] = [];
const tc = {
name: `InsuranceLibertyMutual`,
tags: ['@E2E', '@InsuranceLibertyMutual', '@test_report', '@Insurance'],
testData: insuranceLibertyMutualData
};
insuranceLibertyMutualTests.push(tc);
export default insuranceLibertyMutualTests;

View file

@ -511,13 +511,13 @@ export default {
return store.getters.order.policy.policyNumber; return store.getters.order.policy.policyNumber;
}, },
getPolicyZipFromStore() { getPolicyZipFromStore() {
return store.getters.order.policy.zipCode; return store.getters.order.customer.address.zipCode;
}, },
getPhoneNumberFromStore() { getPhoneNumberFromStore() {
return store.getters.order.policy.phoneNumber; return store.getters.order.customer.phoneNumber;
}, },
getPhoneExtensionFromStore() { getPhoneExtensionFromStore() {
return store.getters.order.policy.phoneExtension; return store.getters.order.customer.phoneExtension;
}, },
getDateOfLossFromStore() { getDateOfLossFromStore() {
return store.getters.order.damage.dateOfLoss; return store.getters.order.damage.dateOfLoss;
@ -539,10 +539,10 @@ export default {
return match ?? value; return match ?? value;
}, },
getPolicyStateFromStore() { getPolicyStateFromStore() {
return store.getters.order.policy.state; return store.getters.order.customer.address.state;
}, },
getCityFromStore() { getCityFromStore() {
return store.getters.order.policy.city; return store.getters.order.customer.address.city;
}, },
getDateOfBirthFromStore() { getDateOfBirthFromStore() {
return store.getters.order.policy.dateOfBirth; return store.getters.order.policy.dateOfBirth;

View file

@ -24,6 +24,31 @@ describe("damage-location-question.vue", () => {
expect(wrapper.emitted()["update:modelValue"][0]).toEqual([{ modelValue: ["Backseat"] }]); expect(wrapper.emitted()["update:modelValue"][0]).toEqual([{ modelValue: ["Backseat"] }]);
}); });
test("when only one damage location is available, auto-selects it", async () => {
const { wrapper, damageOptions } = setupMocks({
modelValueProp: [],
dataFromStoreApi: {
driverSideOptions: {
availableReplacementOptions: [],
},
passengerSideOptions: {
availableReplacementOptions: [],
},
windshieldOptions: {
availableReplacementOptions: ["Single"],
},
backGlassOptions: {
availableReplacementOptions: [],
},
},
});
damageLocationQuestion.methods.initializeComponent.call(wrapper.vm, damageOptions);
await wrapper.vm.$nextTick();
expect(wrapper.emitted("update:modelValue")[0][0]).toEqual(["Windshield"]);
});
test("Answers to display filtered by data from api.", async () => { test("Answers to display filtered by data from api.", async () => {
//Arrange //Arrange
const { wrapper, cmsContent, damageOptions } = setupMocks({ const { wrapper, cmsContent, damageOptions } = setupMocks({
@ -31,6 +56,9 @@ describe("damage-location-question.vue", () => {
driverSideOptions: { driverSideOptions: {
availableReplacementOptions: ["Quarter", "Front"], availableReplacementOptions: ["Quarter", "Front"],
}, },
passengerSideOptions: {
availableReplacementOptions: [],
},
windshieldOptions: { windshieldOptions: {
availableReplacementOptions: ["Single"], availableReplacementOptions: ["Single"],
}, },
@ -51,6 +79,7 @@ describe("damage-location-question.vue", () => {
expect(wrapper.vm.damageOptions).toStrictEqual({ expect(wrapper.vm.damageOptions).toStrictEqual({
backGlassOptions: { availableReplacementOptions: [] }, backGlassOptions: { availableReplacementOptions: [] },
driverSideOptions: { availableReplacementOptions: ["Quarter", "Front"] }, driverSideOptions: { availableReplacementOptions: ["Quarter", "Front"] },
passengerSideOptions: { availableReplacementOptions: [] },
windshieldOptions: { availableReplacementOptions: ["Single"] }, windshieldOptions: { availableReplacementOptions: ["Single"] },
}); });
}); });
@ -79,7 +108,15 @@ function setupMocks({
//Mock props //Mock props
const mockMixin = { const mockMixin = {
methods: { methods: {
getCmsContent: jest.fn(), getCmsContent: jest.fn((widget, key) => {
if (key === "Answers") {
return cmsAnswers;
}
if (key === "QuestionText") {
return cmsQuestionText;
}
return "";
}),
}, },
}; };
mountOptions.propsData = { mountOptions.propsData = {
@ -87,6 +124,16 @@ function setupMocks({
isMultiSelect: isMultiSelect, isMultiSelect: isMultiSelect,
}; };
mountOptions.mixins = [mockMixin]; mountOptions.mixins = [mockMixin];
mountOptions.data = function () {
return {
damageOptions: {
driverSideOptions: { availableReplacementOptions: [] },
passengerSideOptions: { availableReplacementOptions: [] },
windshieldOptions: { availableReplacementOptions: [] },
backGlassOptions: { availableReplacementOptions: [] },
},
};
};
const wrapper = shallowMount(damageLocationQuestion, mountOptions); const wrapper = shallowMount(damageLocationQuestion, mountOptions);

View file

@ -37,6 +37,12 @@ export default {
methods: { methods: {
initializeComponent(damageOptions) { initializeComponent(damageOptions) {
this.damageOptions = damageOptions; this.damageOptions = damageOptions;
this.autoSelectSingleAnswer();
},
autoSelectSingleAnswer() {
if (this.answersToDisplay.length === 1) {
this.selectedValues = [this.answersToDisplay[0].Name];
}
}, },
}, },
computed: { computed: {

View file

@ -112,6 +112,7 @@ const getDefaultState = () => {
lastName: null, lastName: null,
emailAddress: null, emailAddress: null,
phoneNumber: null, phoneNumber: null,
phoneExtension: null,
isSmsOptIn: null, isSmsOptIn: null,
waitListRequested: null, waitListRequested: null,
address: { address: {
@ -184,8 +185,6 @@ const getDefaultState = () => {
additionalAuthFlag: null, additionalAuthFlag: null,
isNoComp: false, isNoComp: false,
insuranceCompanyName: null, insuranceCompanyName: null,
phoneNumber: null,
phoneExtension: null,
dateOfBirth: null, dateOfBirth: null,
lossTime: null, lossTime: null,
lossLocation: null, lossLocation: null,
@ -358,10 +357,10 @@ export const mutations = {
state.order.policy.insuranceCompanyName = accountName; state.order.policy.insuranceCompanyName = accountName;
}, },
updatePhoneNumber(state, phoneNumber) { updatePhoneNumber(state, phoneNumber) {
state.order.policy.phoneNumber = phoneNumber; state.order.customer.phoneNumber = phoneNumber;
}, },
updatePhoneExtension(state, phoneExtension) { updatePhoneExtension(state, phoneExtension) {
state.order.policy.phoneExtension = phoneExtension; state.order.customer.phoneExtension = phoneExtension;
}, },
updateStreetAddress(state, streetAddress) { updateStreetAddress(state, streetAddress) {
state.order.customer.address.streetAddress = streetAddress; state.order.customer.address.streetAddress = streetAddress;
@ -580,9 +579,9 @@ export const mutations = {
state.order.customer.address.city = insuranceDetails.city; state.order.customer.address.city = insuranceDetails.city;
state.order.customer.address.state = insuranceDetails.state; state.order.customer.address.state = insuranceDetails.state;
state.order.customer.address.zipCode = insuranceDetails.zipCode; state.order.customer.address.zipCode = insuranceDetails.zipCode;
state.order.customer.phoneNumber = insuranceDetails.phoneNumber;
state.order.customer.phoneExtension = insuranceDetails.phoneExtension;
state.order.payment.insuranceCoverage.claimNumber = insuranceDetails.claimNumber; state.order.payment.insuranceCoverage.claimNumber = insuranceDetails.claimNumber;
state.order.policy.phoneNumber = insuranceDetails.phoneNumber;
state.order.policy.phoneExtension = insuranceDetails.phoneExtension;
state.order.policy.morePolicyQuestions = insuranceDetails.morePolicyQuestions; state.order.policy.morePolicyQuestions = insuranceDetails.morePolicyQuestions;
state.order.policy.dateOfBirth = insuranceDetails.dateOfBirth; state.order.policy.dateOfBirth = insuranceDetails.dateOfBirth;
state.order.policy.lossTime = insuranceDetails.lossTime; state.order.policy.lossTime = insuranceDetails.lossTime;
@ -965,6 +964,7 @@ export const mutations = {
state.order.customer.firstName = sessionInformation.order.customer.firstName; state.order.customer.firstName = sessionInformation.order.customer.firstName;
state.order.customer.lastName = sessionInformation.order.customer.lastName; state.order.customer.lastName = sessionInformation.order.customer.lastName;
state.order.customer.phoneNumber = sessionInformation.order.customer.homePhone; state.order.customer.phoneNumber = sessionInformation.order.customer.homePhone;
state.order.customer.phoneExtension = sessionInformation.order.customer.phoneExt;
state.order.customer.isSmsOptIn = sessionInformation.order.customer.isSmsOptIn; state.order.customer.isSmsOptIn = sessionInformation.order.customer.isSmsOptIn;
if (sessionInformation.order.customer.address) { if (sessionInformation.order.customer.address) {
@ -2822,6 +2822,7 @@ export const actions = {
lastName: order.customer.lastName, lastName: order.customer.lastName,
isSmsOptIn: order.customer.isSmsOptIn, isSmsOptIn: order.customer.isSmsOptIn,
phoneNumber: order.customer.phoneNumber, phoneNumber: order.customer.phoneNumber,
phoneExt: order.customer.phoneExtension,
address: { address: {
streetAddress: order.customer.address.streetAddress, streetAddress: order.customer.address.streetAddress,
streetAddress2: order.customer.address.streetAddress2, streetAddress2: order.customer.address.streetAddress2,