Moving setInsuranceCoverageValues to store
This commit is contained in:
parent
662b25e8c4
commit
270d26dc51
2 changed files with 84 additions and 4 deletions
|
|
@ -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) {
|
saveVehicleDamage(isWindshieldRepair, selectedGlassToReplace, selectedWindshieldChipCount) {
|
||||||
const selectedGlassPassedInSorted = selectedGlassToReplace.slice().sort();
|
const selectedGlassPassedInSorted = selectedGlassToReplace.slice().sort();
|
||||||
const isGlassToReplaceTheSame =
|
const isGlassToReplaceTheSame =
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { setActivePinia, createPinia } from "pinia";
|
||||||
import globalMethods from "@/global-methods";
|
import globalMethods from "@/global-methods";
|
||||||
import App from '@/App.vue';
|
import App from '@/App.vue';
|
||||||
import { getRandomString, getRandomGuid, getRandomInt, getRandomBoolean } from '../helpers/data-generation';
|
import { getRandomString, getRandomGuid, getRandomInt, getRandomBoolean } from '../helpers/data-generation';
|
||||||
|
import { coverageStatuses } from "@/constants/coverage-statuses.js";
|
||||||
|
|
||||||
describe("Store", () => {
|
describe("Store", () => {
|
||||||
|
|
||||||
|
|
@ -240,6 +240,74 @@ describe("Store", () => {
|
||||||
expect(returned).resolves.toMatchObject(response);
|
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", () => {
|
it("saveVehicleDamage with windshield repair should update damage with number of chips not null", () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const glassName = getRandomString(4,10);
|
const glassName = getRandomString(4,10);
|
||||||
|
|
@ -249,7 +317,7 @@ describe("Store", () => {
|
||||||
glassName: glassName,
|
glassName: glassName,
|
||||||
glassLocation: glassLocation
|
glassLocation: glassLocation
|
||||||
}];
|
}];
|
||||||
const chipCount = getRandomInt(0,3).toString();
|
const chipCount = getRandomInt(0,3);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
store.saveVehicleDamage(isWindshieldRepair, selectedGlassToReplace, chipCount);
|
store.saveVehicleDamage(isWindshieldRepair, selectedGlassToReplace, chipCount);
|
||||||
|
|
@ -380,7 +448,7 @@ describe("Store", () => {
|
||||||
// Asserts
|
// Asserts
|
||||||
expect(globalMethods.callHttpClient).toHaveBeenCalled();
|
expect(globalMethods.callHttpClient).toHaveBeenCalled();
|
||||||
expect(registerClaimPromise).resolves.toMatchObject(response);
|
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", () => {
|
it("Call to client returns exception, resulting in object with error property being returned", () => {
|
||||||
|
|
@ -394,7 +462,7 @@ describe("Store", () => {
|
||||||
|
|
||||||
// Asserts
|
// Asserts
|
||||||
expect(globalMethods.callHttpClient).toHaveBeenCalled();
|
expect(globalMethods.callHttpClient).toHaveBeenCalled();
|
||||||
expect(registerClaimPromise).resolves.toHaveProperty('error');
|
expect(registerClaimPromise).resolves.toHaveProperty('isError');
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
Loading…
Reference in a new issue