diff --git a/src/features/online-board/components/OnlineBoardDetailsPage.test.tsx b/src/features/online-board/components/OnlineBoardDetailsPage.test.tsx index 0b4419a4..d111ad10 100644 --- a/src/features/online-board/components/OnlineBoardDetailsPage.test.tsx +++ b/src/features/online-board/components/OnlineBoardDetailsPage.test.tsx @@ -155,4 +155,44 @@ describe("OnlineBoardDetailsPage", () => { expect(screen.getByTestId("flying-time")).toBeTruthy(); expect(screen.getByText("Total flying time: 10:30")).toBeTruthy(); }); + + describe("accordion integration", () => { + it("does not render accordion when leg has no transition or extended equipment", () => { + // Default mockFlight has no transition/equipment.aircraft/meal/services + render(); + expect(screen.queryByTestId("flight-details-accordion")).toBeNull(); + }); + + it("renders accordion when leg has transition data", () => { + const flightWithTransition: IDirectFlight = { + ...mockFlight, + leg: { + ...mockFlight.leg, + transition: { + registration: { + start: { + dayChange: { value: 0, title: "" }, + local: "10:00", + localTime: "10:00", + tzOffset: 0, + utc: "10:00", + }, + end: { + dayChange: { value: 0, title: "" }, + local: "", + localTime: "", + tzOffset: 0, + utc: "", + }, + status: "InProgress", + isActual: true, + }, + }, + }, + }; + mockState = { flight: flightWithTransition, loading: false, error: null }; + render(); + expect(screen.getByTestId("flight-details-accordion")).toBeTruthy(); + }); + }); }); diff --git a/src/features/online-board/components/OnlineBoardDetailsPage.tsx b/src/features/online-board/components/OnlineBoardDetailsPage.tsx index 68a6208a..5b74dc34 100644 --- a/src/features/online-board/components/OnlineBoardDetailsPage.tsx +++ b/src/features/online-board/components/OnlineBoardDetailsPage.tsx @@ -18,6 +18,7 @@ import { useFlightDetails } from "../hooks/useFlightDetails.js"; import { useLiveFlightDetails } from "../hooks/useLiveFlightDetails.js"; import { buildFlightDetailsSeo } from "../seo.js"; import { buildFlightJsonLd } from "../json-ld.js"; +import { FlightDetailsAccordion } from "./details-panels/FlightDetailsAccordion.js"; import type { IParsedFlightId, IFlightLeg } from "../types.js"; export interface OnlineBoardDetailsPageProps { @@ -112,6 +113,7 @@ function FlightLegs({ legs }: { legs: IFlightLeg[] }): JSX.Element { {leg.equipment.code ? ` (${leg.equipment.code})` : ""} )} + ))}