From d14823acc12b0627b4f8dcc70b3ec92b1fba60db Mon Sep 17 00:00:00 2001 From: Josh Seltzer Date: Thu, 25 Jul 2024 15:24:06 -0400 Subject: [PATCH] Corrected Overnight scheduling --- src/layouts/confirmation/confirmation.spec.js | 19 ++++++++++++++++--- src/layouts/confirmation/confirmation.vue | 13 ++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/layouts/confirmation/confirmation.spec.js b/src/layouts/confirmation/confirmation.spec.js index 47b650a14..a079fab83 100644 --- a/src/layouts/confirmation/confirmation.spec.js +++ b/src/layouts/confirmation/confirmation.spec.js @@ -1,6 +1,6 @@ // Components import confirmation from "@/layouts/confirmation/confirmation.vue"; -import { AppointmentTypeStrings } from "@/constants/schedule-constants"; +import { AppointmentTypeStrings, RouteCodeFlags } from "@/constants/schedule-constants"; import { applicationConfig } from "@/constants/application-config.js"; // Supporting Files @@ -402,8 +402,7 @@ describe("computed properties...", () => { //Arrange store.getters.submittedOrder.schedule.jobMaxMinutes = 45; store.getters.submittedOrder.schedule.jobMinMinutes = 30; - store.getters.submittedOrder.serviceLocation.appointmentType = - AppointmentTypeStrings.DROP_OFF; + store.getters.submittedOrder.schedule.routeCode = RouteCodeFlags.ALL_DAY_DROP_OFF; const { wrapper } = setupMocks({}); // Act @@ -412,6 +411,20 @@ describe("computed properties...", () => { // Assert expect(testValue).toEqual("Duration: All Day"); }); + + test("Appointment Duration should return with Overnight.", () => { + //Arrange + store.getters.submittedOrder.schedule.jobMaxMinutes = 45; + store.getters.submittedOrder.schedule.jobMinMinutes = 30; + store.getters.submittedOrder.schedule.routeCode = RouteCodeFlags.OVERNIGHT_DROP_OFF; + const { wrapper } = setupMocks({}); + + // Act + const testValue = wrapper.vm.AppointmentDuration; + + // Assert + expect(testValue).toEqual("Duration: Overnight"); + }); }); function setupMocks({ customMountOptions }) { diff --git a/src/layouts/confirmation/confirmation.vue b/src/layouts/confirmation/confirmation.vue index 695482119..b46154756 100644 --- a/src/layouts/confirmation/confirmation.vue +++ b/src/layouts/confirmation/confirmation.vue @@ -96,7 +96,7 @@ import analyticsMixin from "@/mixins/analytics-mixin"; import store from "@/store"; import { storeActions } from "@/constants/store-actions"; import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; -import { AppointmentTypeStrings } from "@/constants/schedule-constants"; +import { AppointmentTypeStrings, RouteCodeFlags } from "@/constants/schedule-constants"; import { settleAllPromises } from "@/helpers/layout-helper"; import { applicationConfig } from "@/constants/application-config.js"; import { convertDateStringToDate } from "@/layouts/schedule/helpers/schedule-helper"; @@ -328,10 +328,17 @@ export default { const durationMinimum = store.getters.submittedOrder?.schedule?.jobMinMinutes; const durationLengthString = "Duration: "; if ( - store.getters.submittedOrder?.serviceLocation?.appointmentType === - AppointmentTypeStrings.DROP_OFF + store.getters.submittedOrder?.schedule?.routeCode.includes( + RouteCodeFlags.ALL_DAY_DROP_OFF + ) ) { return durationLengthString.concat("All Day"); + } else if ( + store.getters.submittedOrder?.schedule?.routeCode.includes( + RouteCodeFlags.OVERNIGHT_DROP_OFF + ) + ) { + return durationLengthString.concat("Overnight"); } else { return durationLengthString.concat( getDisplayTextForDurationLength(durationMinimum, durationMaximum)