Added hasGlassPartsOrRepairInfo check on the 3 payment pages
This commit is contained in:
parent
07a184735a
commit
f00aab4ad8
6 changed files with 44 additions and 4 deletions
|
|
@ -87,6 +87,10 @@ const createValidOrder = () => ({
|
||||||
workOrderNumber: "WO-123456",
|
workOrderNumber: "WO-123456",
|
||||||
referralCorrelationId: "ref-123",
|
referralCorrelationId: "ref-123",
|
||||||
referralSequenceNumber: 1,
|
referralSequenceNumber: 1,
|
||||||
|
damage: { isRepair: false },
|
||||||
|
lineItems: {
|
||||||
|
glassParts: [{ id: "part1", partType: "WINDSHIELD" }],
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("payment-adyen.vue", () => {
|
describe("payment-adyen.vue", () => {
|
||||||
|
|
@ -160,6 +164,16 @@ describe("payment-adyen.vue", () => {
|
||||||
expect(result).toBe(false);
|
expect(result).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("returns false when glass parts or repair info is missing", () => {
|
||||||
|
store.getters.order.damage.isRepair = false;
|
||||||
|
store.getters.order.lineItems.glassParts = [];
|
||||||
|
const wrapper = setupMocks({});
|
||||||
|
|
||||||
|
const result = wrapper.vm.arePagePrerequisitesValid();
|
||||||
|
|
||||||
|
expect(result).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
test("returns true for mobile appointment type when address fields are present", () => {
|
test("returns true for mobile appointment type when address fields are present", () => {
|
||||||
store.getters.order.serviceLocation.appointmentType =
|
store.getters.order.serviceLocation.appointmentType =
|
||||||
AppointmentTypeStrings.MOBILE;
|
AppointmentTypeStrings.MOBILE;
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ import {
|
||||||
hasSchedulingInfo,
|
hasSchedulingInfo,
|
||||||
hasCustomerInfo,
|
hasCustomerInfo,
|
||||||
hasPaymentMethodInfo,
|
hasPaymentMethodInfo,
|
||||||
|
hasGlassPartsOrRepairInfo,
|
||||||
} from "@/helpers/page-prerequisites-helper.js";
|
} from "@/helpers/page-prerequisites-helper.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -150,7 +151,8 @@ export default {
|
||||||
hasInsuranceInfo(order, logQueue) &&
|
hasInsuranceInfo(order, logQueue) &&
|
||||||
hasSchedulingInfo(order, logQueue) &&
|
hasSchedulingInfo(order, logQueue) &&
|
||||||
hasCustomerInfo(order, logQueue) &&
|
hasCustomerInfo(order, logQueue) &&
|
||||||
hasPaymentMethodInfo(order, logQueue);
|
hasPaymentMethodInfo(order, logQueue) &&
|
||||||
|
hasGlassPartsOrRepairInfo(order, logQueue);
|
||||||
flushPagePrereqsLogs("payment-adyen.vue", result, logQueue);
|
flushPagePrereqsLogs("payment-adyen.vue", result, logQueue);
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ const createValidOrderForPaymentMethod = () => ({
|
||||||
insuranceCoverage: { isVerified: true },
|
insuranceCoverage: { isVerified: true },
|
||||||
},
|
},
|
||||||
lineItems: {
|
lineItems: {
|
||||||
glassParts: [],
|
glassParts: [{ id: "part1", partType: "WINDSHIELD" }],
|
||||||
supportingItems: [],
|
supportingItems: [],
|
||||||
vaps: [],
|
vaps: [],
|
||||||
promos: [],
|
promos: [],
|
||||||
|
|
@ -157,6 +157,16 @@ describe("payment-method.vue", () => {
|
||||||
|
|
||||||
expect(result).toBe(false);
|
expect(result).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("returns false when glass parts or repair info is missing", () => {
|
||||||
|
const { wrapper } = setupMocks();
|
||||||
|
store.getters.order.damage.isRepair = false;
|
||||||
|
store.getters.order.lineItems.glassParts = [];
|
||||||
|
|
||||||
|
const result = wrapper.vm.arePagePrerequisitesValid();
|
||||||
|
|
||||||
|
expect(result).toBe(false);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,7 @@ import {
|
||||||
hasInsuranceInfo,
|
hasInsuranceInfo,
|
||||||
hasSchedulingInfo,
|
hasSchedulingInfo,
|
||||||
hasCustomerInfo,
|
hasCustomerInfo,
|
||||||
|
hasGlassPartsOrRepairInfo,
|
||||||
} from "@/helpers/page-prerequisites-helper.js";
|
} from "@/helpers/page-prerequisites-helper.js";
|
||||||
import { ErrorMessage } from "vee-validate";
|
import { ErrorMessage } from "vee-validate";
|
||||||
import { Field } from "vee-validate";
|
import { Field } from "vee-validate";
|
||||||
|
|
@ -393,7 +394,8 @@ export default {
|
||||||
hasServiceLocationInfo(order, logQueue) &&
|
hasServiceLocationInfo(order, logQueue) &&
|
||||||
hasInsuranceInfo(order, logQueue) &&
|
hasInsuranceInfo(order, logQueue) &&
|
||||||
hasSchedulingInfo(order, logQueue) &&
|
hasSchedulingInfo(order, logQueue) &&
|
||||||
hasCustomerInfo(order, logQueue);
|
hasCustomerInfo(order, logQueue) &&
|
||||||
|
hasGlassPartsOrRepairInfo(order, logQueue);
|
||||||
flushPagePrereqsLogs("payment-method.vue", result, logQueue);
|
flushPagePrereqsLogs("payment-method.vue", result, logQueue);
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -294,6 +294,16 @@ describe("payment.vue", () => {
|
||||||
expect(result).toBe(false);
|
expect(result).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("Returns false when glass parts or repair info is missing", () => {
|
||||||
|
const wrapper = setupMocks({});
|
||||||
|
store.getters.order.damage.isRepair = false;
|
||||||
|
store.getters.order.lineItems.glassParts = [];
|
||||||
|
|
||||||
|
const result = wrapper.vm.arePagePrerequisitesValid();
|
||||||
|
|
||||||
|
expect(result).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
describe("Payment method cases", () => {
|
describe("Payment method cases", () => {
|
||||||
test("Returns false if pia options are not valid", () => {
|
test("Returns false if pia options are not valid", () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
|
|
|
||||||
|
|
@ -249,6 +249,7 @@ import {
|
||||||
hasSchedulingInfo,
|
hasSchedulingInfo,
|
||||||
hasCustomerInfo,
|
hasCustomerInfo,
|
||||||
hasPaymentMethodInfo,
|
hasPaymentMethodInfo,
|
||||||
|
hasGlassPartsOrRepairInfo,
|
||||||
} from "@/helpers/page-prerequisites-helper.js";
|
} from "@/helpers/page-prerequisites-helper.js";
|
||||||
import buttonQuestion from "@/digital-components/button-question/button-question";
|
import buttonQuestion from "@/digital-components/button-question/button-question";
|
||||||
import paymentMethodListButton from "@/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button";
|
import paymentMethodListButton from "@/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button";
|
||||||
|
|
@ -449,7 +450,8 @@ export default {
|
||||||
hasInsuranceInfo(order, logQueue) &&
|
hasInsuranceInfo(order, logQueue) &&
|
||||||
hasSchedulingInfo(order, logQueue) &&
|
hasSchedulingInfo(order, logQueue) &&
|
||||||
hasCustomerInfo(order, logQueue) &&
|
hasCustomerInfo(order, logQueue) &&
|
||||||
hasPaymentMethodInfo(order, logQueue);
|
hasPaymentMethodInfo(order, logQueue) &&
|
||||||
|
hasGlassPartsOrRepairInfo(order, logQueue);
|
||||||
flushPagePrereqsLogs("payment.vue", result, logQueue);
|
flushPagePrereqsLogs("payment.vue", result, logQueue);
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue