Refactoring welcome page to extract policy lookup and incorporate dupe check navigation

This commit is contained in:
Michaela Brydon 2023-10-11 13:35:21 -04:00
parent a16f4364fa
commit 2594595f2d
4 changed files with 867 additions and 495 deletions

View file

@ -179,13 +179,8 @@ describe('navigation', () => {
test('if duplicates found, navigate to duplicate check page', async () => { test('if duplicates found, navigate to duplicate check page', async () => {
// Arrange // Arrange
const { wrapper } = getMountedComponent({}); const { wrapper } = getMountedComponent({});
useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({}));
const duplicatesExist = { useMainStore().applicationUser.duplicateOrders = [{ test: 'a' }];
policyLookupResponse: {},
duplicateCheckResponse: [{ test: 'a'}]
};
settleAllPromises.mockImplementation(() => Promise.resolve(duplicatesExist));
// Act // Act
await wrapper.vm.forwardButtonAction(); await wrapper.vm.forwardButtonAction();
@ -199,39 +194,18 @@ describe('navigation', () => {
{ [routerParams.SAVE_SESSION_SYNCHRONOUS]: true } { [routerParams.SAVE_SESSION_SYNCHRONOUS]: true }
); );
}); });
test('if policy and vehicles are found, navigate to policy-vehicle page', async () => { test('if policy and vehicles are found but no duplicates, navigate to policy-vehicle page', async () => {
// Arrange // Arrange
const mockvehicles = [ const { wrapper } = setupMocks({});
{ useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({}));
vin: 'TEST_VIN'
}, useMainStore().applicationUser.duplicateOrders = [];
{ useMainStore().order.policy.policyLookupSuccessful = true;
vin: 'TEST_VIN2' useMainStore().order.policy.vehicles = [
} { vin: 'TEST_VIN' },
{ vin: 'TEST_VIN2' }
]; ];
const { wrapper } = setupMocks({
policies: [{
vehicles: [
{
vin: 'TEST_VIN'
},
{
vin: 'TEST_VIN2'
}
]
}]
});
await wrapper.setData({
vehiclesFound: mockvehicles
});
useMainStore().issConfig.isCoverageEnabled = true;
useMainStore().order.policy.policyNumber = 'p_0001';
useMainStore().order.policy.dateOfLoss = '2022-01-28';
useMainStore().order.accountNumber = '00000';
// Act // Act
await wrapper.vm.forwardButtonAction(); await wrapper.vm.forwardButtonAction();
@ -243,20 +217,14 @@ describe('navigation', () => {
{ [routerParams.SAVE_SESSION_SYNCHRONOUS]: true } { [routerParams.SAVE_SESSION_SYNCHRONOUS]: true }
); );
}); });
test('if policy is found, but no vehicles, navigate to vehicle-selection page', async () => { test('if policy is found, but no vehicles and no duplicates, navigate to vehicle-selection page', async () => {
// Arrange // Arrange
const { wrapper } = setupMocks({ const { wrapper } = setupMocks({});
policies: [{}] useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({}));
});
await wrapper.setData({ useMainStore().applicationUser.duplicateOrders = [];
vehiclesFound: null useMainStore().order.policy.policyLookupSuccessful = true;
}); useMainStore().order.policy.vehicles = [];
useMainStore().issConfig.isCoverageEnabled = true;
useMainStore().order.policy.policyNumber = 'p_0001';
useMainStore().order.policy.dateOfLoss = '2022-01-28';
useMainStore().order.accountNumber = '00000';
// Act // Act
@ -270,16 +238,34 @@ describe('navigation', () => {
{ [routerParams.SAVE_SESSION_SYNCHRONOUS]: true } { [routerParams.SAVE_SESSION_SYNCHRONOUS]: true }
); );
}); });
test('if policy is not found, navigate to policy-holder-details page', async () => { test('if policy is found, but null vehicles and no duplicates, navigate to vehicle-selection page', async () => {
// Arrange // Arrange
const { wrapper } = setupMocks({ const { wrapper } = setupMocks({});
policies: null useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({}));
});
useMainStore().issConfig.isCoverageEnabled = true; useMainStore().applicationUser.duplicateOrders = [];
useMainStore().order.policy.policyNumber = 'p_0001'; useMainStore().order.policy.policyLookupSuccessful = true;
useMainStore().order.policy.dateOfLoss = '2022-01-28'; useMainStore().order.policy.vehicles = null;
useMainStore().order.accountNumber = '00000';
// Act
await wrapper.vm.forwardButtonAction();
// Assert
expect(wrapper.vm.$router.navigate).toHaveBeenCalledWith(
navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_NO_VEHICLES,
undefined,
{},
{ [routerParams.SAVE_SESSION_SYNCHRONOUS]: true }
);
});
test('if policy is not found and no duplicates, navigate to policy-holder-details page', async () => {
// Arrange
const { wrapper } = setupMocks({});
useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({}));
useMainStore().order.policy.policyLookupSuccessful = false;
useMainStore().applicationUser.duplicateOrders = [];
// Act // Act
await wrapper.vm.navigateForward(); await wrapper.vm.navigateForward();

View file

@ -167,6 +167,7 @@
<script> <script>
// Components // Components
import { Form, defineRule } from 'vee-validate';
import siteHeader from '@/iss-components/site-header/site-header.vue'; import siteHeader from '@/iss-components/site-header/site-header.vue';
import siteSubHeader from '@/iss-components/site-sub-header/site-sub-header.vue'; import siteSubHeader from '@/iss-components/site-sub-header/site-sub-header.vue';
import siteFooter from '@/iss-components/site-footer/site-footer.vue'; import siteFooter from '@/iss-components/site-footer/site-footer.vue';
@ -178,7 +179,6 @@ import textBlock from '@/digital-components/text-block/text-block.vue';
// Supporting files // Supporting files
import { fetchCmsContentForPage } from '@/helpers/cms-content-helper'; import { fetchCmsContentForPage } from '@/helpers/cms-content-helper';
import settleAllPromises from '@/helpers/layout-helper'; import settleAllPromises from '@/helpers/layout-helper';
import { Form, defineRule } from 'vee-validate';
import { required, regex } from '@/helpers/validation-rules'; import { required, regex } from '@/helpers/validation-rules';
import errorMessages from '@/constants/error-messages'; import errorMessages from '@/constants/error-messages';
import BaseFormMixin from '@/mixins/base-form-mixin.js'; import BaseFormMixin from '@/mixins/base-form-mixin.js';
@ -243,7 +243,6 @@ export default {
data() { data() {
return { return {
welcomePageModel: this.getWelcomePageModelFromStore(), welcomePageModel: this.getWelcomePageModelFromStore(),
vehiclesFound: [],
duplicates: [], duplicates: [],
rules: { rules: {
policyNumber: 'policy-number-required', policyNumber: 'policy-number-required',
@ -298,76 +297,27 @@ export default {
}, },
methods: { methods: {
async forwardButtonAction() { async forwardButtonAction() {
this.mainStore.updatePolicyData(this.welcomePageModel); useMainStore().updatePolicyData(this.welcomePageModel);
const duplicateCheckResponse = await useMainStore().getDuplicateReferrals(); await useMainStore().getDuplicateReferrals()
const duplicatePromiseResultMap = [ .finally(async () => {
{ if (this.isCoverageEnabled) {
resultKey: 'duplicateCheckResponse', await useMainStore().getCoveragePolicyInfo();
promise: duplicateCheckResponse
}
];
const duplicateResultMap = await settleAllPromises(duplicatePromiseResultMap);
this.mainStore.applicationUser.duplicateOrders = duplicateResultMap.duplicateCheckResponse ?? [];
this.duplicates = duplicateResultMap.duplicateCheckResponse;
// call coverage policy lookup if isCoverageEnabled flag enabled
if (this.isCoverageEnabled) {
const policyLookupResponse = useMainStore().getCoveragePolicyInfo({
accountNumber: this.mainStore.order.accountNumber.toString(),
policyNumber: this.mainStore.order.policy.policyNumber,
dateOfLoss: this.mainStore.order.policy.dateOfLoss,
zipCode: this.mainStore.order.policy.policyZipCode
});
const policyPromiseResultMap = [
{
resultKey: 'policyLookupResponse',
promise: policyLookupResponse
} }
];
const policyResultMap = await settleAllPromises(policyPromiseResultMap);
const policyInfo = policyResultMap.policyLookupResponse;
// if policy lookup fails, navigate directly to policy-holder-details page
if (!policyInfo) {
this.navigateForward(); this.navigateForward();
} });
const policy = policyInfo.policies?.[0];
if (policy) {
// populate policy holder details from policy lookup
this.mainStore.order.customer.address.streetAddress = policy.insureds?.[0]?.address;
this.mainStore.order.customer.address.city = policy.insureds?.[0]?.city;
this.mainStore.order.customer.address.state = policy.insureds?.[0]?.state;
this.mainStore.order.customer.address.zipCode = policy.insureds?.[0]?.zipCode;
this.mainStore.order.customer.firstName = policy.insureds?.[0]?.firstName;
this.mainStore.order.customer.lastName = policy.insureds?.[0]?.lastName;
// populate additional fields
this.mainStore.order.serviceLocation.zipCode = policy.insureds?.[0]?.zipCode;
// populate vehicles
this.mainStore.order.policy.vehicles = policy.vehicles;
this.vehiclesFound = policy.vehicles;
}
return this.navigateForward(policy);
}
return this.navigateForward();
}, },
navigateForward(policy) { navigateForward() {
if (this.duplicates?.length > 0 ?? false) { if (useMainStore().applicationUser.duplicateOrders?.length > 0 ?? false) {
this.$router.navigate( this.$router.navigate(
this.navigationScenarios.CLICKED_FORWARD_WITH_DUPLICATES, this.navigationScenarios.CLICKED_FORWARD_WITH_DUPLICATES,
this.$route, this.$route,
{}, {},
{ [routerParams.SAVE_SESSION_SYNCHRONOUS]: true } { [routerParams.SAVE_SESSION_SYNCHRONOUS]: true }
); );
} else if (policy) { } else if (this.mainStore.policy.policyLookupSuccessful) {
if (this.vehiclesFound) { if (this.mainStore.order.policy.vehicles?.length > 0 ?? false) {
// if policy lookup is successful and vehicles are found, navigate to policy-vehicles page // navigate to policy-vehicles page
this.$router.navigate( this.$router.navigate(
this.navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES, this.navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES,
this.$route, this.$route,
@ -375,7 +325,6 @@ export default {
{ [routerParams.SAVE_SESSION_SYNCHRONOUS]: true } { [routerParams.SAVE_SESSION_SYNCHRONOUS]: true }
); );
} else { } else {
// if policy lookup is successful, but no vehicles are associated with the policy
// navigate to vehicle-selection page (manual entry) // navigate to vehicle-selection page (manual entry)
this.$router.navigate( this.$router.navigate(
this.navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_NO_VEHICLES, this.navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_NO_VEHICLES,

View file

@ -28,7 +28,7 @@ const getDefaultState = () => ({
imageUrl: null, imageUrl: null,
imageVifNumber: null, imageVifNumber: null,
imageColor: null, imageColor: null,
registration: { registration: { // TODO only licensePlate saved in save session
licensePlate: null, licensePlate: null,
address: null, address: null,
city: null, city: null,
@ -136,15 +136,16 @@ const getDefaultState = () => ({
}, },
applicationUser: { applicationUser: {
experiments: [], experiments: [],
eventBus: [], eventBus: [], // TODO not in save session
pageData: {}, pageData: {},
savedSessionTimeout: getDateForSavedSessionTimeout(), savedSessionTimeout: getDateForSavedSessionTimeout(),
saveSessionPromise: null, saveSessionPromise: null,
savedSessionId: '00000000-0000-0000-0000-000000000000', savedSessionId: '00000000-0000-0000-0000-000000000000',
crmCustomerId: null, crmCustomerId: null,
lastPageVisited: null, lastPageVisited: null,
triggeredSiteEntry: false, triggeredSiteEntry: false, // TODO not in save session
duplicateOrders: [] duplicateOrders: [],
hasSentSaveQuoteEmail: null
}, },
issConfig: { issConfig: {
clientName: 'Generic Insurance', // this is the default and will be overriden by the client's name clientName: 'Generic Insurance', // this is the default and will be overriden by the client's name
@ -365,36 +366,45 @@ export const useMainStore = defineStore({
}; };
} }
}, },
getCoveragePolicyInfo({ accountNumber, policyNumber, dateOfLoss, zipCode }) { getCoveragePolicyInfo() {
const { policy } = this.order; const { policy } = this.order;
try { return new Promise((resolve, reject) => {
const response = globalMethods.callHttpClient({ globalMethods.callHttpClient({
method: endpoints.CoveragePolicyInfo.method, method: endpoints.CoveragePolicyInfo.method,
endpoint: endpoints.CoveragePolicyInfo.url, endpoint: endpoints.CoveragePolicyInfo.url,
payload: { payload: {
accountNumber, accountNumber: this.order.accountNumber.toString(),
policyNumber, policyNumber: policy.policyNumber,
dateOfLoss, dateOfLoss: policy.dateOfLoss,
zipCode, zipCode: policy.policyZipCode,
correlationId: this.order.referralCorrelationId correlationId: this.order.referralCorrelationId
} }
}).then((r) => { }).then((r) => {
const responsePolicy = r.data.policies?.[0]; const responsePolicy = r.data.policies?.[0];
policy.policyLookupSuccessful = !!responsePolicy; policy.policyLookupSuccessful = !!responsePolicy;
return r; if (policy.policyLookupSuccessful) {
const insured = responsePolicy?.insureds?.[0];
// populate policy holder details from policy lookup
this.order.customer.address.streetAddress = insured?.address;
this.order.customer.address.city = insured?.city;
this.order.customer.address.state = insured?.state;
this.order.customer.address.zipCode = insured?.zipCode;
this.order.customer.firstName = insured?.firstName;
this.order.customer.lastName = insured?.lastName;
// populate additional fields
this.order.serviceLocation.zipCode = insured?.zipCode;
// populate vehicles
this.order.policy.vehicles = responsePolicy?.vehicles ?? [];
}
return resolve(r);
}).catch((error) => { }).catch((error) => {
policy.policyLookupSuccessful = false; policy.policyLookupSuccessful = false;
return error; return reject(error);
}); });
return response; });
} catch (responseError) {
policy.policyLookupSuccessful = false;
return {
error: {
status: responseError.status
}
};
}
}, },
registerClaim() { registerClaim() {
const nonNumberCharRegex = /[^0-9]/g; const nonNumberCharRegex = /[^0-9]/g;
@ -938,72 +948,126 @@ export const useMainStore = defineStore({
}, },
loadSession() { loadSession() {
const { applicationUser } = this;
// TODO how to get savedSessionId for a duplicate referral? // TODO how to get savedSessionId for a duplicate referral?
const result = globalMethods.callHttpClient({ return new Promise((resolve, reject) => {
method: endpoints.SaveSession.method, globalMethods.callHttpClient({
endpoint: endpoints.SaveSession.url, method: endpoints.LoadSession.method,
payload: { endpoint: endpoints.LoadSession.url,
savedSessionId: this.applicationUser.savedSessionId?.toString(), payload: {
referralNumber: this.order.referralNumber?.toString(), savedSessionId: this.applicationUser.savedSessionId?.toString(),
referralDate: this.order.referralDate?.toString(), referralNumber: this.order.referralNumber?.toString(),
parentAccountNumber: this.issConfig.parentAccountNumber, referralDate: this.order.referralDate?.toString(),
referralCorrelationId: this.order.referralCorrelationId parentAccountNumber: this.issConfig.parentAccountNumber,
} referralCorrelationId: this.order.referralCorrelationId
}
}).then((result) => {
applicationUser.crmCustomerId = result?.applicationUser?.crmCustomerId;
this.applicationUser.experiments = result?.applicationUser?.experiments;
this.applicationUser.lastPageVisited = result?.applicationUser?.lastPage;
this.applicationUser.pageData = result?.applicationUser?.pageData;
this.applicationUser.savedSessionId = result?.applicationUser?.savedSessionId; // TODO this might just be what is passed
this.applicationUser.hasSentSaveQuoteEmail = result?.applicationUser?.hasSentSaveQuoteEmail;
this.order.vehicle.registration.licensePlate = result?.order?.vehicle?.registration?.licensePlateNumber;
this.order.vehicle.imageUrl = result?.order?.vehicle?.imageUrl;
this.order.vehicle.imageColor = result?.order?.vehicle?.imageVifColor;
this.order.vehicle.imageVifNumber = result?.order?.vehicle?.imageVifNumber;
this.order.vehicle.year = result?.order?.vehicle?.year;
this.order.vehicle.make = result?.order?.vehicle?.make;
this.order.vehicle.model = result?.order?.vehicle?.model;
this.order.vehicle.style = result?.order?.vehicle?.style;
this.order.vehicle.carId = result?.order?.vehicle?.carId;
this.order.vehicle.category = result?.order?.vehicle?.category;
this.order.vehicle.vin = result?.order?.vehicle?.vin;
this.order.customer.emailAddress = result?.order?.customer?.emailAddress;
this.order.customer.firstName = result?.order?.policy?.policyHolder?.policyFirstName;
this.order.customer.lastName = result?.order?.policy?.policyHolder?.policyLastName;
this.order.customer.phoneNumber = result?.order?.policy?.policyHolder?.policyPhoneNumber;
// TODO policy state
this.order.customer.address.streetAddress = result?.order?.customer?.address?.streetAddress;
this.order.customer.address.streetAddress2 = result?.order?.customer?.address?.streetAddress2;
this.order.customer.address.city = result?.order?.customer?.address?.city;
this.order.customer.address.state = result?.order?.customer?.address?.state;
this.order.customer.address.zipCode = result?.order?.customer?.address?.zipCode;
this.order.damage.isRepair = result?.order?.damage?.isRepair;
this.order.damage.numberOfChips = result?.order?.damage?.numberOfChips;
this.order.damage.glassToReplace = result?.order?.damage?.glassToReplace; // TODO this might need transformed
this.order.damage.capabilityQuestionAnswers = result?.order?.damage?.capabilityQuestionAnswers;
this.order.damage.moldingQuestionAnswers = result?.order?.damage?.moldingQuestionAnswers;
this.order.damage.partQuestionAnswers = result?.order?.damage?.partQuestionAnswers;
this.order.policy.policyNumber = result?.order?.policy?.policyNumber;
this.order.policy.policyZipCode = result?.order?.policy?.policyZipCode;
this.order.policy.noCoverage = result?.order?.policy?.noCoverage;
this.order.policy.policyLookupSuccessful = result?.order?.policy?.policyLookupSuccessful; // TODO probably don't need to load this
this.order.policy.dateOfLoss = result?.order?.damage?.dateOfLoss;
this.order.policy.damageCause = result?.order?.damage?.damageCause;
this.order.policy.damageState = result?.order?.damage?.damageState;
this.order.policy.damageCity = result?.order?.damage?.damageCity;
this.order.policy.isDamageGlassOnly = result?.order?.damage?.isDamageGlassOnly;
this.order.originalDeductible = result?.order?.policy?.originalDeductible;
this.order.currentDeductible = result?.order?.policy?.currentDeductible;
this.order.lineItems.glassParts = result?.order?.lineItems?.glassParts;
// TODO otherParts
this.order.lineItems.supportingItems = result?.order?.lineItems?.supportingItems;
this.order.lineItems.vaps = result?.order?.lineItems?.vaps;
this.order.payment.isInsurance = result?.order?.payment?.isInsurance;
this.order.payment.insuranceCoverage.isVerified = result?.order?.payment?.insuranceCoverage?.isVerified;
this.order.payment.insuranceCoverage.coverageStatus = result?.order?.payment?.insuranceCoverage?.coverageStatus;
this.order.payment.parentAccountNumber = result?.order?.payment?.parentAccountNumber;
this.issConfig.parentAccountNumber = result?.order?.payment?.parentAccountNumber;
// TODO result.order.payment.insuranceCoverage.claimNumber
this.order.serviceLocation.address = result?.order?.serviceLocation?.streetAddress;
this.order.serviceLocation.address2 = result?.order?.serviceLocation?.streetAddress2;
this.order.serviceLocation.city = result?.order?.serviceLocation?.city;
this.order.serviceLocation.state = result?.order?.serviceLocation?.state;
this.order.serviceLocation.zipCode = result?.order?.serviceLocation?.zipCode;
this.order.serviceLocation.zipCodeCtu = result?.order?.serviceLocation?.zipCodeCtu;
this.order.serviceLocation.appointmentType = result?.order?.serviceLocation?.appointmentType;
this.order.serviceLocation.isVehicleProtected = result?.order?.serviceLocation?.isVehicleProtected;
this.order.serviceLocation.provider.providerNumber = result?.order?.serviceLocation?.provider?.providerNumber;
this.order.serviceLocation.provider.address.streetAddress = result?.order?.serviceLocation?.provider?.address?.streetAddress;
this.order.serviceLocation.provider.address.city = result?.order?.serviceLocation?.provider?.address?.city;
this.order.serviceLocation.provider.address.state = result?.order?.serviceLocation?.provider?.address?.state;
this.order.serviceLocation.provider.address.zipCode = result?.order?.serviceLocation?.provider?.address?.zipCode;
this.order.serviceLocation.provider.address.zipCodeCtu = result?.order?.serviceLocation?.provider?.address?.zipCodeCtu;
this.order.contactInfo.firstName = result?.order?.customer?.firstName;
this.order.contactInfo.lastName = result?.order?.customer?.lastName;
this.order.contactInfo.emailAddress = result?.order?.customer?.emailAddress;
this.order.contactInfo.phoneNumber = result?.order?.customer?.phoneNumber;
this.order.contactInfo.requestTextUpdates = result?.order?.customer?.isSmsOptIn; // TODO confirm
this.order.contactInfo.notesForTechnician = result?.order?.serviceLocation?.techNotes;
// TODO service phone number ??
// TODO isSmsOptIn service ??
this.order.schedule.date = result?.order?.schedule?.date;
this.order.schedule.startTime = result?.order?.schedule?.startTime;
this.order.schedule.endTime = result?.order?.schedule?.endTime;
this.order.schedule.routeCode = result?.order?.schedule?.routeCode;
this.order.schedule.jobMaxMinutes = result?.order?.schedule?.jobMaxMinutes;
// TODO result.order.schedule.jobMinMinutes
this.order.referralNumber = result?.order?.referralNumber;
this.order.referralDate = result?.order?.referralDate;
this.order.referralCorrelationId = result?.order?.referralCorrelationId;
this.order.referralSequenceNumber = result?.order?.referralSequenceNumber;
this.order.eon = result?.order?.eon;
// TODO this.order.workOrderNumber not set
return resolve(result);
}, (error) => {
console.log(error);
reject(error);
});
}); });
this.applicationUser.crmCustomerId = result.applicationUser.crmCustomerId;
this.applicationUser.experiments = result.applicationUser.experiments;
this.applicationUser.lastPageVisited = result.applicationUser.lastPage;
this.applicationUser.pageData = result.applicationUser.pageData;
this.applicationUser.savedSessionId = result.applicationUser.savedSessionId; // TODO this might just be what is passed
this.order.vehicle.registration.licensePlate = result.order.vehicle.registration.licensePlateNumber;
this.order.vehicle.imageUrl = result.order.vehicle.imageUrl;
this.order.vehicle.imageColor = result.order.vehicle.imageVifColor;
this.order.vehicle.imageVifNumber = result.order.vehicle.imageNumber;
this.order.vehicle.year = result.order.vehicle.year;
this.order.vehicle.make = result.order.vehicle.make;
this.order.vehicle.model = result.order.vehicle.model;
this.order.vehicle.style = result.order.vehicle.style;
this.order.vehicle.carId = result.order.vehicle.carId;
this.order.vehicle.category = result.order.vehicle.category;
this.order.vehicle.vin = result.order.vehicle.vin;
this.order.damage.isRepair = result.order.damage.isRepair;
this.order.damage.numberOfChips = result.order.damage.numberOfChips;
this.order.damage.glassToReplace = result.order.damage.glassToReplace; // TODO this might need transformed
this.order.damage.capabilityQuestionAnswers = result.order.damage.capabilityQuestionAnswers;
this.order.damage.moldingQuestionAnswers = result.order.damage.moldingQuestionAnswers;
this.order.damage.partQuestionAnswers = result.order.damage.partQuestionAnswers;
this.order.policy.policyNumber = result.order.policy.policyNumber;
this.order.policy.policyZipCode = result.order.policy.policyZipCode;
this.order.policy.noCoverage = result.order.policy.noCoverage;
this.order.policy.policyLookupSuccessful = result.order.policy.policyLookupSuccessful; // TODO probably don't need to load this
this.order.policy.dateOfLoss = result.order.damage.dateOfLoss;
this.order.policy.damageCause = result.order.damage.damageCause;
this.order.policy.damageState = result.order.damage.damageState;
this.order.policy.damageCity = result.order.damage.damageCity;
this.order.policy.isDamageGlassOnly = result.order.damage.isDamageGlassOnly;
this.order.originalDeductible = result.order.policy.originalDeductible;
this.order.currentDeductible = result.order.policies.currentDeductible;
// customer: {
// address: {
// streetAddress: null,
// streetAddress2: null,
// city: null,
// state: null,
// zipCode: null
// },
// firstName: null,
// lastName: null,
// emailAddress: null,
// phoneNumber: null
// },
}, },
setSaveSessionPromise(promise) { setSaveSessionPromise(promise) {

File diff suppressed because it is too large Load diff