diff --git a/src/store/index.js b/src/store/index.js index f928064f..ded1f2c6 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -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)); }); @@ -1173,7 +1182,8 @@ export const useMainStore = defineStore({ referralNumber: this.order.referralNumber?.toString(), referralCorrelationId: this.order.referralCorrelationId, referralSequenceNumber: this.order.referralSequenceNumber, - eon: this.order.eon + eon: this.order.eon, + submitToMainframe: !!this.order.referralNumber }, additionalSuccessEventDataHandler: (response) => `Email provided: ${customer.emailAddress ? 'true' : 'false'}` diff --git a/src/store/store.spec.js b/src/store/store.spec.js index eb59c670..3304f721 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -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 }) })); });