Verify start-page info-section content per TZ Table 8 + Table 9
Add assertion tests confirming both OnlineBoardStartPage and ScheduleStartPage render the required info-section headings and content blocks per TZ specifications. OnlineBoardStartPage (TZ Table 8): - Heading: 'Что такое Онлайн-табло и что я могу в нем увидеть?' - 4 info blocks: Актуальная информация, Информация об услугах, Купить билет, Расписание ScheduleStartPage (TZ Table 9): - First heading: 'Как пользоваться расписанием?' + 4 info blocks - Second heading: 'Возможности расписания' + 2 capabilities blocks - Blocks 5-6 (Купить билет, Расписание) now rendered under capabilities heading Tests added: - OnlineBoardStartPage: 6 new assertions (4.1.6-R-info-heading through 4.1.6-R-popular) - ScheduleStartPage: 8 new assertions (4.1.7-R-info-heading-1 through 4.1.7-R-popular)
This commit is contained in:
@@ -189,6 +189,46 @@ describe("OnlineBoardStartPage", () => {
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE4")).toBeTruthy();
|
||||
});
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// TZ §4.1.6: start-page info section per TZ Table 8
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
describe("4.1.6: start-page info section per TZ Table 8", () => {
|
||||
it("4.1.6-R-info-heading: renders 'Что такое Онлайн-табло...' heading", () => {
|
||||
render(<OnlineBoardStartPage />);
|
||||
expect(screen.getByText("BOARD.BOARD-START")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.6-R-info-block-1: renders 'Актуальная информация' block with description", () => {
|
||||
render(<OnlineBoardStartPage />);
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE1")).toBeTruthy();
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE1-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.6-R-info-block-2: renders 'Информация об услугах' block with description", () => {
|
||||
render(<OnlineBoardStartPage />);
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE2")).toBeTruthy();
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE2-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.6-R-info-block-3: renders 'Купить билет' block with description", () => {
|
||||
render(<OnlineBoardStartPage />);
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE3")).toBeTruthy();
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE3-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.6-R-info-block-4: renders 'Расписание' info block with description", () => {
|
||||
render(<OnlineBoardStartPage />);
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE4")).toBeTruthy();
|
||||
expect(screen.getByText("BOARD.BOARD-START-TITLE4-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.6-R-popular-heading: renders 'Популярные разделы' via PopularRequestsPanel", () => {
|
||||
render(<OnlineBoardStartPage />);
|
||||
expect(screen.getByTestId("popular-requests")).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
it("renders the filter component", () => {
|
||||
render(<OnlineBoardStartPage />);
|
||||
expect(screen.getByTestId("flight-filter")).toBeTruthy();
|
||||
|
||||
@@ -135,6 +135,58 @@ describe("ScheduleStartPage", () => {
|
||||
expect(screen.getByTestId("schedule-start")).toBeTruthy();
|
||||
});
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// TZ §4.1.7: start-page info sections per TZ Table 9
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
describe("4.1.7: start-page info sections per TZ Table 9", () => {
|
||||
it("4.1.7-R-info-heading-1: renders 'Как пользоваться расписанием?' heading", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.7-R-info-block-1a: renders 'Маршрут' block with description", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE1")).toBeTruthy();
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE1-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.7-R-info-block-1b: renders 'Дата вылета' block with description", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE2")).toBeTruthy();
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE2-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.7-R-info-block-1c: renders 'Время вылета' block with description", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE3")).toBeTruthy();
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE3-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.7-R-info-block-1d: renders 'Обратные рейсы' block with description", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE4")).toBeTruthy();
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE4-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.7-R-info-block-2a: renders 'Купить билет' capabilities block (TITLE5)", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE5")).toBeTruthy();
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE5-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.7-R-info-block-2b: renders 'Расписание' capabilities block (TITLE6)", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE6")).toBeTruthy();
|
||||
expect(screen.getByText("SCHEDULE.SCHEDULE-START-TITLE6-DESCRIPTION")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("4.1.7-R-popular: renders PopularRequestsPanel for request handling", () => {
|
||||
render(<ScheduleStartPage />);
|
||||
expect(screen.getByTestId("popular-requests")).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
it("4.1.5-S1: one-way Route click prefills current ISO week dates + no return", () => {
|
||||
// 2026-05-15 (Fri) → week Mon 2026-05-11 … Sun 2026-05-17
|
||||
render(<ScheduleStartPage />);
|
||||
|
||||
@@ -571,6 +571,24 @@ export const ScheduleStartPage: FC = () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>{t("SCHEDULE.POPULAR-CHAPTERS")}</h3>
|
||||
|
||||
<div className="titles-container">
|
||||
<div className="title title5">
|
||||
<a>{t("SCHEDULE.SCHEDULE-START-TITLE5")}</a>
|
||||
<div>
|
||||
{t("SCHEDULE.SCHEDULE-START-TITLE5-DESCRIPTION")}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="title title6">
|
||||
<a>{t("SCHEDULE.SCHEDULE-START-TITLE6")}</a>
|
||||
<div>
|
||||
{t("SCHEDULE.SCHEDULE-START-TITLE6-DESCRIPTION")}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<PopularRequestsPanel onRequestClick={handlePopularRequestClick} />
|
||||
</section>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user