Stabilize schedule e2e date fixtures
This commit is contained in:
@@ -155,6 +155,22 @@ describe("DayTabs", () => {
|
||||
expect(screen.getByTestId("day-select")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("deduplicates available dates before rendering the mobile select", () => {
|
||||
render(
|
||||
<DayTabs
|
||||
selectedDate="20260416"
|
||||
availableDates={["20260416", "20260416", "20260417"]}
|
||||
daysBefore={1}
|
||||
daysAfter={2}
|
||||
locale="en"
|
||||
onNavigate={() => {}}
|
||||
/>,
|
||||
);
|
||||
|
||||
const options = screen.getByTestId("day-select").querySelectorAll("option");
|
||||
expect(options).toHaveLength(2);
|
||||
});
|
||||
|
||||
// ── TZ §4.1.13.1 compliance tests ──────────────────────────────────────
|
||||
|
||||
it("4.1.13.1: active range today-1 to today+14 yields 16 total dates", () => {
|
||||
|
||||
@@ -68,8 +68,15 @@ export const DayTabs: FC<DayTabsProps> = ({
|
||||
// the route has no day data). Treat every date as tappable in that
|
||||
// case — matches Angular where the tabs stay enabled until we *know*
|
||||
// the upstream reports no flights for a given day.
|
||||
const availableSet = useMemo(() => new Set(availableDates), [availableDates]);
|
||||
const disableByAvailability = availableDates.length > 0;
|
||||
const uniqueAvailableDates = useMemo(
|
||||
() => Array.from(new Set(availableDates)),
|
||||
[availableDates],
|
||||
);
|
||||
const availableSet = useMemo(
|
||||
() => new Set(uniqueAvailableDates),
|
||||
[uniqueAvailableDates],
|
||||
);
|
||||
const disableByAvailability = uniqueAvailableDates.length > 0;
|
||||
|
||||
const visibleDates = allDates.slice(
|
||||
currentPage * PAGE_SIZE,
|
||||
@@ -150,7 +157,7 @@ export const DayTabs: FC<DayTabsProps> = ({
|
||||
</div>
|
||||
<DaySelect
|
||||
selectedDate={selectedDate}
|
||||
availableDates={availableDates}
|
||||
availableDates={uniqueAvailableDates}
|
||||
locale={locale}
|
||||
onNavigate={onNavigate}
|
||||
{...(mobileCaptionKey ? { captionKey: mobileCaptionKey } : {})}
|
||||
|
||||
Reference in New Issue
Block a user