Moving setInsuranceCoverageValues to store

This commit is contained in:
brydon1 2023-06-26 15:07:05 -04:00
parent 662b25e8c4
commit 270d26dc51
2 changed files with 84 additions and 4 deletions

View file

@ -677,6 +677,18 @@ export const useMainStore = defineStore({
});
},
setInsuranceCoverageValues(registerClaimResponse) {
const registerClaimFailed = registerClaimResponse.isError;
if (this.issConfig.isClaimRegistrationRequired) {
this.order.payment.insuranceCoverage.isVerified = !registerClaimFailed;
this.order.payment.insuranceCoverage.coverageStatus = registerClaimFailed
? coverageStatuses.PENDING
: useMainStore().policy.noCoverage
? coverageStatuses.NO_COMP
: coverageStatuses.VERIFIED;
}
},
saveVehicleDamage(isWindshieldRepair, selectedGlassToReplace, selectedWindshieldChipCount) {
const selectedGlassPassedInSorted = selectedGlassToReplace.slice().sort();
const isGlassToReplaceTheSame =

View file

@ -4,7 +4,7 @@ import { setActivePinia, createPinia } from "pinia";
import globalMethods from "@/global-methods";
import App from '@/App.vue';
import { getRandomString, getRandomGuid, getRandomInt, getRandomBoolean } from '../helpers/data-generation';
import { coverageStatuses } from "@/constants/coverage-statuses.js";
describe("Store", () => {
@ -240,6 +240,74 @@ describe("Store", () => {
expect(returned).resolves.toMatchObject(response);
});
describe("setInsuranceCoverageValues method", () => {
it("claim registration not required => nothing is updated", () => {
// Arrange
store.issConfig.isClaimRegistrationRequired = false;
const registerClaimResponse = {
isError: false
};
const oldIsVerified = null;
store.payment.insuranceCoverage.isVerified = oldIsVerified;
const oldCoverageStatus = coverageStatuses.NO_COMP;
store.payment.insuranceCoverage.coverageStatus = oldCoverageStatus;
// Act
store.setInsuranceCoverageValues(registerClaimResponse);
// Assert
expect(store.payment.insuranceCoverage.isVerified).toBe(oldIsVerified);
expect(store.payment.insuranceCoverage.coverageStatus).toBe(oldCoverageStatus);
})
it("Register Claim fails => isVerified false and coverage status pending", () =>{
// Arrange
store.issConfig.isClaimRegistrationRequired = true;
const registerClaimResponse = {
isError: true
};
// Act
store.setInsuranceCoverageValues(registerClaimResponse);
// Assert
expect(store.payment.insuranceCoverage.isVerified).toBe(false);
expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.PENDING);
})
it("Register Claim success and no coverage => isVerified true and coverage status no comp", () => {
// Arrange
store.issConfig.isClaimRegistrationRequired = true;
const registerClaimResponse = {
isError: false
};
store.policy.noCoverage = true;
// Act
store.setInsuranceCoverageValues(registerClaimResponse);
// Assert
expect(store.payment.insuranceCoverage.isVerified).toBe(true);
expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.NO_COMP);
})
it("Register Claim success and coverage => isVerified true and coverage status verified", () => {
// Arrange
store.issConfig.isClaimRegistrationRequired = true;
const registerClaimResponse = {
isError: false
};
store.policy.noCoverage = false;
// Act
store.setInsuranceCoverageValues(registerClaimResponse);
// Assert
expect(store.payment.insuranceCoverage.isVerified).toBe(true);
expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.VERIFIED);
})
})
it("saveVehicleDamage with windshield repair should update damage with number of chips not null", () => {
// Arrange
const glassName = getRandomString(4,10);
@ -249,7 +317,7 @@ describe("Store", () => {
glassName: glassName,
glassLocation: glassLocation
}];
const chipCount = getRandomInt(0,3).toString();
const chipCount = getRandomInt(0,3);
// Act
store.saveVehicleDamage(isWindshieldRepair, selectedGlassToReplace, chipCount);
@ -380,7 +448,7 @@ describe("Store", () => {
// Asserts
expect(globalMethods.callHttpClient).toHaveBeenCalled();
expect(registerClaimPromise).resolves.toMatchObject(response);
expect(registerClaimPromise).resolves.not.toHaveProperty('error');
expect(registerClaimPromise).resolves.not.toHaveProperty('isError');
});
it("Call to client returns exception, resulting in object with error property being returned", () => {
@ -394,7 +462,7 @@ describe("Store", () => {
// Asserts
expect(globalMethods.callHttpClient).toHaveBeenCalled();
expect(registerClaimPromise).resolves.toHaveProperty('error');
expect(registerClaimPromise).resolves.toHaveProperty('isError');
});
})
});