Merge pull request #1922 from Safelite/feature/CSR-1903A
Correct Drop Off Schedule Duration
This commit is contained in:
commit
aa74d97abb
2 changed files with 48 additions and 3 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
// Components
|
// Components
|
||||||
import confirmation from "@/layouts/confirmation/confirmation.vue";
|
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";
|
import { applicationConfig } from "@/constants/application-config.js";
|
||||||
|
|
||||||
// Supporting Files
|
// Supporting Files
|
||||||
|
|
@ -397,6 +397,34 @@ describe("computed properties...", () => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(testValue).toEqual("Duration: 30 - 45 minutes");
|
expect(testValue).toEqual("Duration: 30 - 45 minutes");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("Appointment Duration should return with All Day.", () => {
|
||||||
|
//Arrange
|
||||||
|
store.getters.submittedOrder.schedule.jobMaxMinutes = 45;
|
||||||
|
store.getters.submittedOrder.schedule.jobMinMinutes = 30;
|
||||||
|
store.getters.submittedOrder.schedule.routeCode = RouteCodeFlags.ALL_DAY_DROP_OFF;
|
||||||
|
const { wrapper } = setupMocks({});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
const testValue = wrapper.vm.AppointmentDuration;
|
||||||
|
|
||||||
|
// 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 }) {
|
function setupMocks({ customMountOptions }) {
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ import analyticsMixin from "@/mixins/analytics-mixin";
|
||||||
import store from "@/store";
|
import store from "@/store";
|
||||||
import { storeActions } from "@/constants/store-actions";
|
import { storeActions } from "@/constants/store-actions";
|
||||||
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
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 { settleAllPromises } from "@/helpers/layout-helper";
|
||||||
import { applicationConfig } from "@/constants/application-config.js";
|
import { applicationConfig } from "@/constants/application-config.js";
|
||||||
import { convertDateStringToDate } from "@/layouts/schedule/helpers/schedule-helper";
|
import { convertDateStringToDate } from "@/layouts/schedule/helpers/schedule-helper";
|
||||||
|
|
@ -326,7 +326,24 @@ export default {
|
||||||
AppointmentDuration() {
|
AppointmentDuration() {
|
||||||
const durationMaximum = store.getters.submittedOrder?.schedule?.jobMaxMinutes;
|
const durationMaximum = store.getters.submittedOrder?.schedule?.jobMaxMinutes;
|
||||||
const durationMinimum = store.getters.submittedOrder?.schedule?.jobMinMinutes;
|
const durationMinimum = store.getters.submittedOrder?.schedule?.jobMinMinutes;
|
||||||
return "Duration: " + getDisplayTextForDurationLength(durationMinimum, durationMaximum);
|
const durationLengthString = "Duration: ";
|
||||||
|
if (
|
||||||
|
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)
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue