Updated savesession logic on duplicate check page.

This commit is contained in:
Jeremy-Z 2026-07-08 09:33:01 -04:00
parent dd321370a3
commit 75720b2660
2 changed files with 42 additions and 21 deletions

View file

@ -396,7 +396,8 @@ describe('duplicateCheck.vue', () => {
await wrapper.vm.forwardButtonAction(); await wrapper.vm.forwardButtonAction();
// Assert // Assert
expect(saveSession).toHaveBeenCalledTimes(0); // When selection doesn't match any duplicate, saveSession should be called to create a new referral
expect(saveSession).toHaveBeenCalledTimes(1);
expect(wrapper.vm.mainStore.loadSessionFromDuplicate).toHaveBeenCalledTimes(0); expect(wrapper.vm.mainStore.loadSessionFromDuplicate).toHaveBeenCalledTimes(0);
expect(wrapper.vm.mainStore.getCoveragePolicyInfo).toHaveBeenCalledTimes(1); expect(wrapper.vm.mainStore.getCoveragePolicyInfo).toHaveBeenCalledTimes(1);
expect(wrapper.vm.$router.navigate).toHaveBeenCalledTimes(1); expect(wrapper.vm.$router.navigate).toHaveBeenCalledTimes(1);
@ -429,7 +430,7 @@ describe('duplicateCheck.vue', () => {
// Assert // Assert
expect(wrapper.vm.mainStore.loadSessionFromDuplicate).toHaveBeenCalledTimes(1); expect(wrapper.vm.mainStore.loadSessionFromDuplicate).toHaveBeenCalledTimes(1);
expect(saveSession).not.toHaveBeenCalled(); expect(saveSession).not.toHaveBeenCalled();
expect(wrapper.vm.mainStore.getCoveragePolicyInfo).toHaveBeenCalledTimes(0); expect(wrapper.vm.mainStore.getCoveragePolicyInfo).toHaveBeenCalledTimes(1);
expect(wrapper.vm.$router.navigate).toHaveBeenCalledTimes(1); expect(wrapper.vm.$router.navigate).toHaveBeenCalledTimes(1);
}); });
test('coverageType deductible and policy vehicles returned => CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES', async () => { test('coverageType deductible and policy vehicles returned => CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES', async () => {

View file

@ -138,30 +138,50 @@ export default {
async forwardButtonAction() { async forwardButtonAction() {
showIssLoadingModal(true); showIssLoadingModal(true);
try let callSaveSession = false;
{ let selectedReferral = null;
// If user clicked forward without selecting an option or user click on "start a new claim" button.
if (this.selectedAnswer == null || this.selectedAnswer === 'NewClaim') {
// Call SaveSession to create referral.
await saveSession({ shouldAwaitSaveSessionQueue: true, bailoutOnError: true });
}
else
{
const selectedReferral =
this.mainStore.applicationUser.duplicateOrders.find((o) => o.correlationId === this.selectedAnswer);
if (selectedReferral) { // If user clicked forward without selecting an option or user click on "start a new claim" button.
await this.mainStore.loadSessionFromDuplicate(selectedReferral); if (this.selectedAnswer == null || this.selectedAnswer === 'NewClaim') {
} // User did not pick a duplicate, so call SaveSession to create referral.
callSaveSession = true;
}
else
{
selectedReferral =
this.mainStore.applicationUser.duplicateOrders.find((o) => o.correlationId === this.selectedAnswer);
if (!selectedReferral) {
// If duplicate not found in list (unable to load), then call SaveSession to create referral.
callSaveSession = true;
} }
}
// Call getCoveragePolicyInfo to get the policy info.
// Call LoadSession if duplicate was found.
if (selectedReferral) {
try {
await this.mainStore.loadSessionFromDuplicate(selectedReferral);
}
catch (error) {
// LoadSession will bailout.
}
}
// Call SaveSession to create referral.
if (callSaveSession) {
try {
await saveSession({ shouldAwaitSaveSessionQueue: true, bailoutOnError: true });
}
catch (error) {
// SaveSession will bailout.
}
}
// Call getCoveragePolicyInfo to get the policy info.
try {
await this.mainStore.getCoveragePolicyInfo(); await this.mainStore.getCoveragePolicyInfo();
} }
catch (error) { catch (error) {
// No error handling here needed.
// SaveSession will bailout.
// LoadSession will bailout.
// GetCoveragePolicyInfo handles exception / error internally. // GetCoveragePolicyInfo handles exception / error internally.
} }