UNPKG

@payfit/unity-components

Version:

39 lines (38 loc) 1.38 kB
import { CalendarDate as e } from "@internationalized/date"; import { userEvent as t, within as n } from "storybook/test"; //#region src/components/date-range-picker-field/test-utils.ts var r = (r) => { let i = (e) => { let t = n(r.canvasElement).getAllByLabelText(e, { exact: !1, selector: "span" }); if (t.length !== 6) throw Error(`Date range field for ${e} not found. Expected 6 segments, got ${t.length}`); return { start: t.slice(0, 3), end: t.slice(3, 6) }; }, a = async (e, n) => { await t.type(e.find((e) => e.getAttribute("data-type") === "day"), String(n.day)), await t.type(e.find((e) => e.getAttribute("data-type") === "month"), String(n.month)), await t.type(e.find((e) => e.getAttribute("data-type") === "year"), String(n.year)); }, o = (t) => { let n = (e) => parseInt(t.find((t) => t.getAttribute("data-type") === e)?.textContent ?? ""); return new e(n("year"), n("month"), n("day")); }; return { fillCalendarDateRange: async ({ labelText: e, startDate: t, endDate: n }) => { await r.step(`Fill date range picker ${e}`, async () => { let { start: r, end: o } = i(e); await a(r, t), await a(o, n); }); }, getCalendarDateRangeValue: ({ labelText: e }) => { let { start: t, end: n } = i(e); return { start: o(t), end: o(n) }; } }; }; //#endregion export { r as getTestingUtilsDateRangePicker };