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",
|
||||
referralCorrelationId: "ref-123",
|
||||
referralSequenceNumber: 1,
|
||||
damage: { isRepair: false },
|
||||
lineItems: {
|
||||
glassParts: [{ id: "part1", partType: "WINDSHIELD" }],
|
||||
},
|
||||
});
|
||||
|
||||
describe("payment-adyen.vue", () => {
|
||||
|
|
@ -160,6 +164,16 @@ describe("payment-adyen.vue", () => {
|
|||
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", () => {
|
||||
store.getters.order.serviceLocation.appointmentType =
|
||||
AppointmentTypeStrings.MOBILE;
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ import {
|
|||
hasSchedulingInfo,
|
||||
hasCustomerInfo,
|
||||
hasPaymentMethodInfo,
|
||||
hasGlassPartsOrRepairInfo,
|
||||
} from "@/helpers/page-prerequisites-helper.js";
|
||||
|
||||
export default {
|
||||
|
|
@ -150,7 +151,8 @@ export default {
|
|||
hasInsuranceInfo(order, logQueue) &&
|
||||
hasSchedulingInfo(order, logQueue) &&
|
||||
hasCustomerInfo(order, logQueue) &&
|
||||
hasPaymentMethodInfo(order, logQueue);
|
||||
hasPaymentMethodInfo(order, logQueue) &&
|
||||
hasGlassPartsOrRepairInfo(order, logQueue);
|
||||
flushPagePrereqsLogs("payment-adyen.vue", result, logQueue);
|
||||
return result;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ const createValidOrderForPaymentMethod = () => ({
|
|||
insuranceCoverage: { isVerified: true },
|
||||
},
|
||||
lineItems: {
|
||||
glassParts: [],
|
||||
glassParts: [{ id: "part1", partType: "WINDSHIELD" }],
|
||||
supportingItems: [],
|
||||
vaps: [],
|
||||
promos: [],
|
||||
|
|
@ -157,6 +157,16 @@ describe("payment-method.vue", () => {
|
|||
|
||||
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,
|
||||
hasSchedulingInfo,
|
||||
hasCustomerInfo,
|
||||
hasGlassPartsOrRepairInfo,
|
||||
} from "@/helpers/page-prerequisites-helper.js";
|
||||
import { ErrorMessage } from "vee-validate";
|
||||
import { Field } from "vee-validate";
|
||||
|
|
@ -393,7 +394,8 @@ export default {
|
|||
hasServiceLocationInfo(order, logQueue) &&
|
||||
hasInsuranceInfo(order, logQueue) &&
|
||||
hasSchedulingInfo(order, logQueue) &&
|
||||
hasCustomerInfo(order, logQueue);
|
||||
hasCustomerInfo(order, logQueue) &&
|
||||
hasGlassPartsOrRepairInfo(order, logQueue);
|
||||
flushPagePrereqsLogs("payment-method.vue", result, logQueue);
|
||||
return result;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -294,6 +294,16 @@ describe("payment.vue", () => {
|
|||
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", () => {
|
||||
test("Returns false if pia options are not valid", () => {
|
||||
// Arrange
|
||||
|
|
|
|||
|
|
@ -249,6 +249,7 @@ import {
|
|||
hasSchedulingInfo,
|
||||
hasCustomerInfo,
|
||||
hasPaymentMethodInfo,
|
||||
hasGlassPartsOrRepairInfo,
|
||||
} from "@/helpers/page-prerequisites-helper.js";
|
||||
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";
|
||||
|
|
@ -449,7 +450,8 @@ export default {
|
|||
hasInsuranceInfo(order, logQueue) &&
|
||||
hasSchedulingInfo(order, logQueue) &&
|
||||
hasCustomerInfo(order, logQueue) &&
|
||||
hasPaymentMethodInfo(order, logQueue);
|
||||
hasPaymentMethodInfo(order, logQueue) &&
|
||||
hasGlassPartsOrRepairInfo(order, logQueue);
|
||||
flushPagePrereqsLogs("payment.vue", result, logQueue);
|
||||
return result;
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue