Rocky_Mountain_Vending/.pnpm-store/v10/files/91/83df4feca0c74de7c3d53b1044545a6e2fcdb7f43f4ebb473a34316290b2298a966429841cd14a87393574265fcc336c957828f2b86069ea0ce9ffb79b6e7a
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

161 lines
5.3 KiB
Text

import { DayFlag } from "../UI";
import { CalendarDay, defaultDateLib } from "../classes/index";
import { createGetModifiers } from "./createGetModifiers";
const dateLib = defaultDateLib;
const displayedMonth = new Date(2022, 10, 1);
const date1 = new Date(2022, 9, 30);
const date2 = new Date(2022, 10, 10);
const date3 = new Date(2022, 10, 11);
const date4 = new Date(2022, 10, 12);
const date5 = new Date(2022, 10, 13);
const date6 = new Date(2022, 10, 14);
const date7 = new Date(2022, 11, 1);
const day1 = new CalendarDay(date1, displayedMonth);
const day2 = new CalendarDay(date2, displayedMonth);
const day3 = new CalendarDay(date3, displayedMonth);
const day4 = new CalendarDay(date4, displayedMonth);
const day5 = new CalendarDay(date5, displayedMonth);
const day6 = new CalendarDay(date6, displayedMonth);
const day7 = new CalendarDay(date7, displayedMonth);
const days: CalendarDay[] = [day1, day2, day3, day4, day5, day6, day7];
const props = {
disabled: [date2],
hidden: [date3],
modifiers: {
custom: [date4],
selected: [date6]
},
selected: date7,
showOutsideDays: true,
today: date5,
timeZone: "UTC"
};
describe("createGetModifiers", () => {
describe("default props", () => {
const getModifiers = createGetModifiers(
days,
props,
undefined,
undefined,
dateLib
);
test("return the modifiers for a given day", () => {
const modifiers = getModifiers(day2);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(true);
expect(modifiers[DayFlag.hidden]).toBe(false);
expect(modifiers[DayFlag.outside]).toBe(false);
expect(modifiers[DayFlag.today]).toBe(false);
expect(modifiers.custom).toBe(false);
});
test("return the custom modifiers for a given day", () => {
const modifiers = getModifiers(day4);
expect(modifiers.custom).toBe(true);
});
test("return the custom `selected` modifier for a given day", () => {
const modifiers = getModifiers(day6);
expect(modifiers.selected).toBe(true);
});
test("return the today modifier for a given day", () => {
const modifiers = getModifiers(day5);
expect(modifiers[DayFlag.today]).toBe(true);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(false);
expect(modifiers[DayFlag.outside]).toBe(false);
expect(modifiers[DayFlag.hidden]).toBe(false);
});
test("return the hidden modifier for a given day", () => {
const modifiers = getModifiers(day3);
expect(modifiers[DayFlag.hidden]).toBe(true);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(false);
expect(modifiers[DayFlag.outside]).toBe(false);
expect(modifiers[DayFlag.today]).toBe(false);
});
test("return the modifiers for a given day before the displayed month", () => {
const modifiers = getModifiers(day1);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(false);
expect(modifiers[DayFlag.hidden]).toBe(false);
expect(modifiers[DayFlag.outside]).toBe(true);
expect(modifiers[DayFlag.today]).toBe(false);
expect(modifiers.selected).toBe(false);
});
test("return the modifiers for a given day after the displayed month", () => {
const modifiers = getModifiers(day7);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(false);
expect(modifiers[DayFlag.hidden]).toBe(false);
expect(modifiers[DayFlag.outside]).toBe(true);
expect(modifiers[DayFlag.today]).toBe(false);
expect(modifiers.selected).toBe(false);
});
});
describe("with startMonth and endMonth props", () => {
const startMonth = new Date(displayedMonth);
startMonth.setDate(30);
const endMonth = new Date(displayedMonth);
endMonth.setDate(1);
const getModifiers = createGetModifiers(
days,
props,
startMonth,
endMonth,
dateLib
);
test("return the modifiers for a given day", () => {
const modifiers = getModifiers(day2);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(true);
expect(modifiers[DayFlag.hidden]).toBe(false);
expect(modifiers[DayFlag.outside]).toBe(false);
expect(modifiers[DayFlag.today]).toBe(false);
expect(modifiers.custom).toBe(false);
});
test("return the modifiers for a given day before the displayed month", () => {
const modifiers = getModifiers(day1);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(false);
expect(modifiers[DayFlag.hidden]).toBe(true);
expect(modifiers[DayFlag.outside]).toBe(true);
expect(modifiers[DayFlag.today]).toBe(false);
expect(modifiers.selected).toBe(false);
});
test("return the modifiers for a given day after the displayed month", () => {
const modifiers = getModifiers(day7);
expect(modifiers[DayFlag.focused]).toBe(false);
expect(modifiers[DayFlag.disabled]).toBe(false);
expect(modifiers[DayFlag.hidden]).toBe(true);
expect(modifiers[DayFlag.outside]).toBe(true);
expect(modifiers[DayFlag.today]).toBe(false);
expect(modifiers.selected).toBe(false);
});
});
});