diff --git a/src/assets/img/icons/chevron-no-background.svg b/src/assets/img/icons/chevron-no-background.svg new file mode 100644 index 000000000..a5c669c0f --- /dev/null +++ b/src/assets/img/icons/chevron-no-background.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.spec.js b/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.spec.js index a3c2f8115..bfbade779 100644 --- a/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.spec.js +++ b/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.spec.js @@ -1,6 +1,6 @@ import { shallowMount } from "@vue/test-utils"; import inshopSchedulingCard from "./inshop-scheduling-card"; -import { RouteCodeFlags } from "@/constants/schedule-constants"; +import { RouteCodeFlags, AppointmentTypeStrings } from "@/constants/schedule-constants"; import { getMountOptions } from "@/helpers/unit-test-helper.js"; const ALL_DAY_DROPOFF_ROUTE_CODE = `03357-001820-I*21346*${RouteCodeFlags.ALL_DAY_DROP_OFF}`; @@ -142,10 +142,9 @@ describe("inshop-scheduling-card.vue", () => { await dropOffInput.setValue(true); await wrapper.setProps({ modelValue: { - selectedInshopTimeSlot: { - providerNumber: "001820", - routeCodeId: ALL_DAY_DROPOFF_ROUTE_CODE, - }, + appointmentType: AppointmentTypeStrings.IN_SHOP, + providerNumber: "001820", + routeCodeId: ALL_DAY_DROPOFF_ROUTE_CODE, }, }); @@ -158,10 +157,9 @@ describe("inshop-scheduling-card.vue", () => { const dropOffInput = wrapper.find(`input[value="${ALL_DAY_DROPOFF_ROUTE_CODE}"]`); await dropOffInput.setValue(true); expect(wrapper.emitted("update:modelValue")[0][0]).toEqual({ - selectedInshopTimeSlot: { - providerNumber: "001820", - routeCodeId: ALL_DAY_DROPOFF_ROUTE_CODE, - }, + appointmentType: AppointmentTypeStrings.IN_SHOP, + providerNumber: "001820", + routeCodeId: ALL_DAY_DROPOFF_ROUTE_CODE, }); wrapper.unmount(); }); @@ -202,10 +200,9 @@ describe("inshop-scheduling-card.vue", () => { const morningInput = wrapper.find(`input[value="${MORNING_INSHOP_ROUTE_CODE}"]`); await morningInput.setValue(true); expect(wrapper.emitted("update:modelValue")[0][0]).toEqual({ - selectedInshopTimeSlot: { - providerNumber: "001820", - routeCodeId: MORNING_INSHOP_ROUTE_CODE, - }, + appointmentType: AppointmentTypeStrings.IN_SHOP, + providerNumber: "001820", + routeCodeId: MORNING_INSHOP_ROUTE_CODE, }); wrapper.unmount(); }); @@ -213,10 +210,9 @@ describe("inshop-scheduling-card.vue", () => { test("highlights selected time slot", async () => { const wrapper = mountComponent({ modelValue: { - selectedInshopTimeSlot: { - providerNumber: "001820", - routeCodeId: MORNING_INSHOP_ROUTE_CODE, - }, + appointmentType: AppointmentTypeStrings.IN_SHOP, + providerNumber: "001820", + routeCodeId: MORNING_INSHOP_ROUTE_CODE, }, }); const selectedSlot = wrapper.find(".inshop-scheduling-card__slot--selected"); @@ -225,6 +221,18 @@ describe("inshop-scheduling-card.vue", () => { wrapper.unmount(); }); + test("does not highlight selection from another provider", () => { + const wrapper = mountComponent({ + modelValue: { + appointmentType: AppointmentTypeStrings.IN_SHOP, + providerNumber: "999999", + routeCodeId: MORNING_INSHOP_ROUTE_CODE, + }, + }); + expect(wrapper.find(".inshop-scheduling-card__slot--selected").exists()).toBe(false); + wrapper.unmount(); + }); + test("collapses and expands body when header is clicked", async () => { const wrapper = mountComponent(); expect(wrapper.find(".inshop-scheduling-card__body").isVisible()).toBe(false); diff --git a/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.vue b/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.vue index df34adcfc..23638d9e0 100644 --- a/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.vue +++ b/src/layouts/scheduling/inshop-scheduling-card/inshop-scheduling-card.vue @@ -23,7 +23,7 @@ @@ -107,7 +107,7 @@