diff --git a/src/layouts/insurance-company/insurance-company.vue b/src/layouts/insurance-company/insurance-company.vue
index 79e238d47..452484e48 100644
--- a/src/layouts/insurance-company/insurance-company.vue
+++ b/src/layouts/insurance-company/insurance-company.vue
@@ -16,6 +16,13 @@
v-model="parentAccountNumber"
:originalList="originalList" />
+
diff --git a/src/layouts/quote/quote.spec.js b/src/layouts/quote/quote.spec.js
index deca0d6d1..522bc4f2e 100644
--- a/src/layouts/quote/quote.spec.js
+++ b/src/layouts/quote/quote.spec.js
@@ -577,6 +577,56 @@ describe("quote.vue", () => {
//Assert
expect(wrapper.vm.isInsuranceSelected).toBe(false);
});
+ test("should default to cash if isCashSelected is true, despite all other checks pointing to insurance selection", async () => {
+ // Also needs no query parameter or previous selection in store to be present
+ //Arrange
+
+ store.getters = {
+ lineItems: {
+ glassParts: ["item", "item2"],
+ },
+ applicationUser: {
+ experiments: [],
+ },
+ order: {
+ lineItems: {
+ glassParts: ["item", "item2"],
+ },
+ payment: {
+ isInsurance: true,
+ },
+ customer: {
+ emailAddress: "test@test.com",
+ },
+ serviceLocation: {
+ state: null,
+ },
+ },
+ vehicle: {
+ cardId: "123",
+ },
+ experimentSettings: {
+ settingName: "SERVICE_PACKAGE_DISCOUNT",
+ },
+ };
+ mockTierOnePrice = 505;
+ const { wrapper } = setupMocks({});
+
+
+ //Act
+ await quote.beforeRouteEnter.call(
+ wrapper.vm,
+ { query: { fmgPage: "quote",
+ isInsuranceSelected: true,
+ isCashSelected: true,
+ } },
+ undefined,
+ (c) => c(wrapper.vm)
+ );
+
+ //Assert
+ expect(wrapper.vm.isInsuranceSelected).toBe(false);
+ });
test("should default to insurance if total economy package price is over $500", async () => {
// Also needs no query parameter or previous selection in store to be present
//Arrange
diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue
index 4428f6e40..20dc16304 100644
--- a/src/layouts/quote/quote.vue
+++ b/src/layouts/quote/quote.vue
@@ -328,6 +328,10 @@ export default {
}
const getIsInsuranceSelectedValue = (availableLineItems, insuranceThreshold) => {
+ // query param checked here is set on insurance-selection "Pay on my own" link click
+ if (to.query?.isCashSelected || to.query?.iscashselected) {
+ return false;
+ }
const serviceLocationState = store.getters.order.serviceLocation.state;
// usually true when returning from heritage but can be false when returning from heritage on a save quote