From 38820f1bf4d09f84925c53f2b1477442f98aceda Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 15 Apr 2026 05:26:37 +0200 Subject: [PATCH] Add unit test for ProjectSequencerPane component --- tests/unit/project-sequencer-pane.test.tsx | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 tests/unit/project-sequencer-pane.test.tsx diff --git a/tests/unit/project-sequencer-pane.test.tsx b/tests/unit/project-sequencer-pane.test.tsx new file mode 100644 index 00000000..8efca3e3 --- /dev/null +++ b/tests/unit/project-sequencer-pane.test.tsx @@ -0,0 +1,110 @@ +import { render, screen } from "@testing-library/react"; +import { describe, expect, it, vi } from "vitest"; + +import { + createProjectGlobalControlTargetRef, + getControlTargetRefKey +} from "../../src/controls/control-surface"; +import { createEmptyProjectDialogueLibrary } from "../../src/dialogues/project-dialogues"; +import { ProjectSequencerPane } from "../../src/app/ProjectSequencerPane"; +import { + createEmptyProjectScheduler, + createProjectScheduleRoutine +} from "../../src/scheduler/project-scheduler"; +import { createEmptyProjectSequenceLibrary } from "../../src/sequencer/project-sequences"; + +describe("ProjectSequencerPane", () => { + it("renders project event placements without crashing when they have no inline effects", () => { + const target = createProjectGlobalControlTargetRef(); + const routine = createProjectScheduleRoutine({ + id: "routine-project-events", + title: "Project Events", + target, + startHour: 9, + endHour: 17, + priority: 0, + effects: [] + }); + const scheduler = createEmptyProjectScheduler(); + scheduler.routines[routine.id] = routine; + + render( + + ); + + expect( + screen.getByText(/Project event placements run attached sequences only/i) + ).toBeVisible(); + }); +});