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(); + }); +});