diff --git a/src/constants/bailoutMessage.js b/src/constants/bailoutMessage.js
index 4215d868..1daa702e 100644
--- a/src/constants/bailoutMessage.js
+++ b/src/constants/bailoutMessage.js
@@ -66,9 +66,9 @@ const bailoutMessage = Object.freeze({
message: 'User selected to continue a referral where a TPA shop was previously selected.'
}),
vehicleYMMSLookupError: (year, make, model, style, error) => {
- const baseMessage = "An error occurred looking up vehicle";
+ const baseMessage = 'An error occurred looking up vehicle';
const errorMessage = `Error: ${getItemData(error)}`;
-
+
const getMessage = (year, make, model, style) => {
if (!year) return `${baseMessage} years. ${errorMessage}`;
if (!make) return `${baseMessage} makes for Year: ${year}. ${errorMessage}`;
@@ -76,12 +76,12 @@ const bailoutMessage = Object.freeze({
if (!style) return `${baseMessage} styles for Year: ${year}, Make: ${make}, Model: ${model}. ${errorMessage}`;
return `${baseMessage} with Year: ${year}, Make: ${make}, Model: ${model}, Style: ${style}. ${errorMessage}`;
};
-
+
return {
code: bailoutCode.VehicleYMMSLookupError,
message: getMessage(year, make, model, style)
};
- },
+ }
});
export default bailoutMessage;
diff --git a/src/helpers/cart-helper.js b/src/helpers/cart-helper.js
index 6cf54498..af2cb1b9 100644
--- a/src/helpers/cart-helper.js
+++ b/src/helpers/cart-helper.js
@@ -76,7 +76,7 @@ export function getMobileFeeLineItem(order) {
* @returns {number|undefined|null} current deductible
*/
export function getDeductible(order) {
- return order.currentDeductible;
+ return order.damage.isRepair ? order.currentDeductible.repair : order.currentDeductible.replace;
}
/**
diff --git a/src/helpers/cart-helper.spec.js b/src/helpers/cart-helper.spec.js
index 367c9329..aec728c0 100644
--- a/src/helpers/cart-helper.spec.js
+++ b/src/helpers/cart-helper.spec.js
@@ -239,8 +239,13 @@ describe('cart-helper', () => {
describe('getDeductible', () => {
test('Returns deductible on the order', () => {
// Arrange
- const deductible = 100;
+ const deductible = {
+ replace: 100
+ };
const order = {
+ damage: {
+ isRepair: false
+ },
currentDeductible: deductible
};
@@ -249,7 +254,7 @@ describe('cart-helper', () => {
// Assert
expect(result).not.toBeNull();
- expect(result).toBe(deductible);
+ expect(result).toBe(deductible.replace);
});
});
@@ -349,7 +354,12 @@ describe('cart-helper', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: type
},
- currentDeductible: 100,
+ damage: {
+ isRepair: false
+ },
+ currentDeductible: {
+ replace: 100
+ },
lineItems: nullLineItems
};
@@ -373,7 +383,12 @@ describe('cart-helper', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: type
},
- currentDeductible: 100,
+ damage: {
+ isRepair: false
+ },
+ currentDeductible: {
+ replace: 100
+ },
lineItems: emptyLineItems
};
@@ -397,7 +412,12 @@ describe('cart-helper', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: type
},
- currentDeductible: 100,
+ damage: {
+ isRepair: false
+ },
+ currentDeductible: {
+ replace: 100
+ },
lineItems: defaultLineItems
};
@@ -495,7 +515,12 @@ describe('cart-helper', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: type
},
- currentDeductible: 100,
+ damage: {
+ isRepair: false
+ },
+ currentDeductible: {
+ replace: 100
+ },
lineItems: nullLineItems
};
@@ -520,7 +545,12 @@ describe('cart-helper', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: type
},
- currentDeductible: 100,
+ damage: {
+ isRepair: false
+ },
+ currentDeductible: {
+ replace: 100
+ },
lineItems: emptyLineItems
};
@@ -545,7 +575,12 @@ describe('cart-helper', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: type
},
- currentDeductible: 100,
+ damage: {
+ isRepair: false
+ },
+ currentDeductible: {
+ replace: 100
+ },
lineItems: defaultLineItems
};
diff --git a/src/helpers/text-helper.js b/src/helpers/text-helper.js
index c16f2143..b6fc5184 100644
--- a/src/helpers/text-helper.js
+++ b/src/helpers/text-helper.js
@@ -27,6 +27,17 @@ export function createOrderedListFromStringOfParagraphs(stringOfParagraphs) {
return `
${stringOfParagraphs.replaceAll('', '').replaceAll('', '
- ').replaceAll('', '
')}
`;
}
+/**
+ * @function createUnorderedListFromStringOfParagraphs
+ * @summary
+ * Returns string with tags changed to
and wrapped in an
+ * @param {string} stringOfParagraphs single string with 1 to N tags
+ * @returns {string} converted string wrapped in an
+ */
+export function createUnorderedListFromStringOfParagraphs(stringOfParagraphs) {
+ return `${stringOfParagraphs.replaceAll('', '').replaceAll('', '
- ').replaceAll('', '
')}
`;
+}
+
/**
* @function toTitleCase
* @summary Returns title cased string version of 'text'
diff --git a/src/layouts/coverage-statement/__snapshots__/coverage-statement.spec.js.snap b/src/layouts/coverage-statement/__snapshots__/coverage-statement.spec.js.snap
index f6f6b40f..ef566a55 100644
--- a/src/layouts/coverage-statement/__snapshots__/coverage-statement.spec.js.snap
+++ b/src/layouts/coverage-statement/__snapshots__/coverage-statement.spec.js.snap
@@ -2,23 +2,13 @@
exports[`coverageStatement.vue returns the initial data 1`] = `
Object {
- "CANCEL_CLAIM_REF_NAME": "CancelClaimModal",
- "DEDUCTIBLE_MODAL_REF_NAME": "DeductibleModal",
"RECAL_MODAL_REF_NAME": "RecalModal",
- "SITE_FOOTER_REF_NAME": "siteFooter",
"baseServiceLineItems": Array [],
- "deductibleText": "Your deductible is",
- "rules": Object {
- "selectionRequired": "option-required",
- },
- "selectedProvider": "",
"widget": Object {
"disclaimerText": "DisclaimerWidget",
"explanatoryText": "ExplanatoryTextWidget",
"nextStep": "NextStepsWidget",
- "serviceProviderQuestion": "ServiceProviderQuestion",
"subheader": "SiteSubHeaderWidget",
- "verifiedItacAlert": "VerifiedITACAlert",
},
}
`;
diff --git a/src/layouts/coverage-statement/coverage-statement.spec.js b/src/layouts/coverage-statement/coverage-statement.spec.js
index 3ec6a0be..28a74195 100644
--- a/src/layouts/coverage-statement/coverage-statement.spec.js
+++ b/src/layouts/coverage-statement/coverage-statement.spec.js
@@ -29,6 +29,7 @@ jest.mock('@/helpers/cms-content-helper', () => ({
jest.mock('@/helpers/text-helper', () => ({
createOrderedListFromStringOfParagraphs: jest.fn(),
+ createUnorderedListFromStringOfParagraphs: jest.fn(),
formatAmountInDollars: jest.fn()
}));
@@ -98,9 +99,6 @@ function getMountedComponent(mainInitialState = {}, initialData = {}, methodToRu
fetchCmsContentForPage.mockImplementation(() => Promise.resolve());
const wrapper = shallowMount(coverageStatement, mountOptions);
- wrapper.vm.$refs[CANCEL_CLAIM_REF_NAME].openModal = jest.fn();
- wrapper.vm.$refs.siteFooter.disableForwardButton = jest.fn();
- wrapper.vm.$refs.siteFooter.enableForwardAction = jest.fn();
return { wrapper };
}
@@ -165,16 +163,6 @@ describe('coverageStatement.vue', () => {
// Assert
expect(secondaryText.exists()).toBe(true);
});
- test('Should render site footer', () => {
- // Arrange
- const { wrapper } = getMountedComponent({});
-
- // Act
- const footer = wrapper.findComponent({ ref: 'siteFooter' });
-
- // Assert
- expect(footer.exists()).toBe(true);
- });
});
describe('Computed', () => {
describe.each([
@@ -373,7 +361,7 @@ describe('coverageStatement.vue', () => {
[false, coverageStatuses.PENDING, coverageType.NO_COMP],
[false, coverageStatuses.PENDING, coverageType.Deductible],
[true, coverageStatuses.VERIFIED, coverageType.NO_COMP],
- [true, coverageStatuses.VERIFIED, coverageType.ITAC],
+ [false, coverageStatuses.VERIFIED, coverageType.ITAC],
[false, coverageStatuses.VERIFIED, coverageType.Deductible],
[false, coverageStatuses.NO_COVERAGE, coverageType.NO_COMP],
[false, coverageStatuses.NO_COVERAGE, coverageType.ITAC],
@@ -512,7 +500,10 @@ describe('coverageStatement.vue', () => {
coverageStatus: coverageStatuses.PENDING,
coverageType: coverageType.NONE
},
- currentDeductible: null
+ currentDeductible: {
+ repair: null,
+ replace: null
+ }
}
};
const { wrapper } = getMountedComponent(mainInitialState);
@@ -539,7 +530,9 @@ describe('coverageStatement.vue', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: coverageType.Deductible
},
- currentDeductible: deductible
+ currentDeductible: {
+ replace: deductible
+ }
}
};
const { wrapper } = getMountedComponent(mainInitialState);
@@ -566,7 +559,9 @@ describe('coverageStatement.vue', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: coverageType.ITAC
},
- currentDeductible: deductible
+ currentDeductible: {
+ replace: deductible
+ }
}
};
const { wrapper } = getMountedComponent(mainInitialState);
@@ -584,7 +579,7 @@ describe('coverageStatement.vue', () => {
undefined
);
});
- test('If Verified ITAC, selected other shop, navigate forward w/ CLICKED_FORWARD_WITH_NON_SAFELITE_SHOP', () => {
+ test('If Verified ITAC, selected Cancel, navigate forward w/ CLICKED_FORWARD_WITH_NON_SAFELITE_SHOP', () => {
// Arrange
const deductible = servicePrice + 1;
const mainInitialState = {
@@ -596,7 +591,9 @@ describe('coverageStatement.vue', () => {
coverageStatus: coverageStatuses.VERIFIED,
coverageType: coverageType.ITAC
},
- currentDeductible: deductible
+ currentDeductible: {
+ replace: deductible
+ }
}
};
const { wrapper } = getMountedComponent(mainInitialState);
@@ -605,7 +602,7 @@ describe('coverageStatement.vue', () => {
});
// Act
- wrapper.vm.navigateForward();
+ wrapper.vm.cancelClaim();
// Assert
expect(wrapper.vm.$router.navigate)
@@ -667,7 +664,7 @@ describe('coverageStatement.vue', () => {
});
// Act
- wrapper.vm.navigateForward();
+ wrapper.vm.cancelClaim();
// Assert
expect(wrapper.vm.$router.navigate)
@@ -776,7 +773,9 @@ describe('coverageStatement.vue', () => {
vehicle: {
policyVehicleId: 1
},
- currentDeductible: deductible
+ currentDeductible: {
+ replace: deductible
+ }
},
issConfig: {
isClaimRegistrationRequired: true
diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue
index 19059edb..e982088b 100644
--- a/src/layouts/coverage-statement/coverage-statement.vue
+++ b/src/layouts/coverage-statement/coverage-statement.vue
@@ -15,72 +15,87 @@
+
+ v-if="isITACQuoteVisible"
+ class="itac-price-container">
+
+
+ Your deductible:
+
+
+ {{ formatAmountInDollars(deductibleValue) }}
+
+
+
+
+
+ Safelite price*:
+
+
+ {{ formatAmountInDollars(totalServicePrice) }}
+
+
+
+
{{ formatAmountInDollars(deductibleValue) }}
- {{ formatAmountInDollars(totalServicePrice) }}
-
-
- {{ deductibleText }}
- {{
- formatAmountInDollars(deductibleValue)
- }}
-
-
-
-
-
+ Safelite price*:
+
+
-
-
+ class="d-flex justify-content-center cost mb-0 cost-underline">
+ {{ formatAmountInDollars(totalServicePrice) }}
+
+
+
+
+
+
@@ -88,28 +103,17 @@
:ref="RECAL_MODAL_REF_NAME"
cssModalHeadlineClass="text-center"
cmsWidgetName="RecalModal" />
-
-