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