Merge pull request #507 from Safelite/feature/SSR-704
SSR-704: Updated logic for calling final-deductible.
This commit is contained in:
commit
916576a8bf
2 changed files with 98 additions and 8 deletions
|
|
@ -546,10 +546,19 @@ export const useMainStore = defineStore({
|
|||
status: this.order.policy.status,
|
||||
currentDeductible: this.order.currentDeductible,
|
||||
noCoverage: this.order.policy.noCoverage,
|
||||
isRepair: this.order.damage.isRepair
|
||||
isRepair: this.order.damage.isRepair,
|
||||
policyNumber: this.order.policy.policyNumber,
|
||||
insuredFirstName: this.order.customer.firstName,
|
||||
insuredLastName: this.order.customer.lastName,
|
||||
insuredZipCode: this.order.customer.address.zipCode,
|
||||
policyVehicleId: this.order.vehicle.policyVehicleId?.toString() ?? '',
|
||||
vehicleVin: this.order.vehicle.vin,
|
||||
policyData: this.order.policy.policyData,
|
||||
isItac: this.order.policy.isITAC
|
||||
}
|
||||
}).then((r) => {
|
||||
this.updateDeductible(r.data);
|
||||
this.order.policy.policyData = r.data.policyData;
|
||||
this.updateDeductible(r.data.deductible);
|
||||
return resolve(r);
|
||||
}).catch((error) => reject(error));
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1699,7 +1699,14 @@ describe('Store', () => {
|
|||
describe('successful method call', () => {
|
||||
it('calls get final deductible api endpoint', () => {
|
||||
// Arrange
|
||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
|
||||
const response = {
|
||||
data: {
|
||||
deductible: getRandomInt(0, 5000),
|
||||
policyData: getRandomString(100, 200)
|
||||
}
|
||||
};
|
||||
|
||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(response));
|
||||
store.order.damage.glassToReplace = [getRandomString(10, 15)];
|
||||
|
||||
// Act
|
||||
|
|
@ -1713,7 +1720,13 @@ describe('Store', () => {
|
|||
});
|
||||
it('returns expected response object', async () => {
|
||||
// Arrange
|
||||
const response = { deductible: getRandomInt(0, 5000) };
|
||||
const response = {
|
||||
data: {
|
||||
deductible: getRandomInt(0, 5000),
|
||||
policyData: getRandomString(100, 200)
|
||||
}
|
||||
};
|
||||
|
||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(response));
|
||||
store.order.damage.glassToReplace = [getRandomString(10, 15)];
|
||||
|
||||
|
|
@ -1725,6 +1738,13 @@ describe('Store', () => {
|
|||
});
|
||||
it('calls api with expected payload', () => {
|
||||
// Arrange
|
||||
const response = {
|
||||
data: {
|
||||
deductible: getRandomInt(0, 5000),
|
||||
policyData: getRandomString(100, 200)
|
||||
}
|
||||
};
|
||||
|
||||
const location = getRandomString(10, 15).toUpperCase();
|
||||
store.order.damage.glassToReplace = [
|
||||
{
|
||||
|
|
@ -1740,6 +1760,15 @@ describe('Store', () => {
|
|||
const currentDeductible = getRandomInt(0, 5000);
|
||||
const noCoverage = getRandomBoolean();
|
||||
const isRepair = getRandomBoolean();
|
||||
const policyNumber = getRandomString(10, 20);
|
||||
const insuredFirstName = getRandomString(10, 20);
|
||||
const insuredLastName = getRandomString(10, 20);
|
||||
const insuredZipCode = getRandomInt(10000, 99999).toString();
|
||||
const policyVehicleId = getRandomInt(1, 2).toString();
|
||||
const vehicleVin = getRandomString(17, 17);
|
||||
const policyData = getRandomString(100, 200);
|
||||
const isItac = getRandomBoolean();
|
||||
|
||||
store.order.referralCorrelationId = referralCorrelationId;
|
||||
store.issConfig.parentAccountNumber = accountNumber;
|
||||
store.order.currentDeductible = currentDeductible;
|
||||
|
|
@ -1747,7 +1776,17 @@ describe('Store', () => {
|
|||
store.order.policy.status = status;
|
||||
store.order.customer.address.state = policyState;
|
||||
store.order.damage.isRepair = isRepair;
|
||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
|
||||
store.order.policy.policyNumber = policyNumber;
|
||||
store.order.customer.firstName = insuredFirstName;
|
||||
store.order.customer.lastName = insuredLastName;
|
||||
store.order.customer.address.zipCode = insuredZipCode;
|
||||
store.order.vehicle.policyVehicleId = policyVehicleId;
|
||||
store.order.vehicle.vin = vehicleVin;
|
||||
store.order.policy.policyData = policyData;
|
||||
|
||||
store.updatePolicyITACFlag(isItac);
|
||||
|
||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(response));
|
||||
|
||||
// Act
|
||||
store.getFinalDeductible();
|
||||
|
|
@ -1765,12 +1804,27 @@ describe('Store', () => {
|
|||
status,
|
||||
currentDeductible,
|
||||
noCoverage,
|
||||
isRepair
|
||||
isRepair,
|
||||
policyNumber,
|
||||
insuredFirstName,
|
||||
insuredLastName,
|
||||
insuredZipCode,
|
||||
policyVehicleId,
|
||||
vehicleVin,
|
||||
policyData,
|
||||
isItac
|
||||
})
|
||||
}));
|
||||
});
|
||||
it('only "Yes" endorsement answers are added to payload', () => {
|
||||
// Arrange
|
||||
const response = {
|
||||
data: {
|
||||
deductible: getRandomInt(0, 5000),
|
||||
policyData: getRandomString(100, 200)
|
||||
}
|
||||
};
|
||||
|
||||
const location = getRandomString(10, 15).toUpperCase();
|
||||
store.order.damage.glassToReplace = [
|
||||
{
|
||||
|
|
@ -1805,6 +1859,15 @@ describe('Store', () => {
|
|||
selectedAnswer: 'No'
|
||||
}
|
||||
];
|
||||
const policyNumber = getRandomString(10, 20);
|
||||
const insuredFirstName = getRandomString(10, 20);
|
||||
const insuredLastName = getRandomString(10, 20);
|
||||
const insuredZipCode = getRandomInt(10000, 99999).toString();
|
||||
const policyVehicleId = getRandomInt(1, 2).toString();
|
||||
const vehicleVin = getRandomString(17, 17);
|
||||
const policyData = getRandomString(100, 200);
|
||||
const isItac = false;
|
||||
|
||||
store.order.referralCorrelationId = referralCorrelationId;
|
||||
store.issConfig.parentAccountNumber = accountNumber;
|
||||
store.order.currentDeductible = currentDeductible;
|
||||
|
|
@ -1813,7 +1876,17 @@ describe('Store', () => {
|
|||
store.order.customer.address.state = policyState;
|
||||
store.order.policy.endorsementQuestionAnswers = endorsementAnswers;
|
||||
store.order.damage.isRepair = isRepair;
|
||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
|
||||
store.order.policy.policyNumber = policyNumber;
|
||||
store.order.customer.firstName = insuredFirstName;
|
||||
store.order.customer.lastName = insuredLastName;
|
||||
store.order.customer.address.zipCode = insuredZipCode;
|
||||
store.order.vehicle.policyVehicleId = policyVehicleId;
|
||||
store.order.vehicle.vin = vehicleVin;
|
||||
store.order.policy.policyData = policyData;
|
||||
|
||||
store.updatePolicyITACFlag(isItac);
|
||||
|
||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(response));
|
||||
|
||||
// Act
|
||||
store.getFinalDeductible();
|
||||
|
|
@ -1832,7 +1905,15 @@ describe('Store', () => {
|
|||
status,
|
||||
currentDeductible,
|
||||
noCoverage,
|
||||
isRepair
|
||||
isRepair,
|
||||
policyNumber,
|
||||
insuredFirstName,
|
||||
insuredLastName,
|
||||
insuredZipCode,
|
||||
policyVehicleId,
|
||||
vehicleVin,
|
||||
policyData,
|
||||
isItac
|
||||
})
|
||||
}));
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue