Corrected Overnight scheduling

This commit is contained in:
Josh Seltzer 2024-07-25 15:24:06 -04:00
parent 15368e3255
commit d14823acc1
2 changed files with 26 additions and 6 deletions

View file

@ -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 }) {

View file

@ -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)