tests/step.test.js
- import { describe, it, expect } from "vitest";
- import { Step, Solvable } from "../src/pipeline/step.js";
- describe("Step", () => {
-
- it("derives index, id and name from the subclass name; schema throws Not implemented", () => {
- class Step7Foo extends Step {}
- const s = new Step7Foo();
- expect(s.index).toBe(7);
- expect(s.id).toBe("step7");
- expect(s.name).toBe("Step 7 (Foo)");
- expect(() => s.schema()).toThrow(/Not implemented/);
- });
- });
- describe("Solvable", () => {
-
- it("exposes an abstract solve method that throws when not overridden", () => {
- class Step9Bar extends Solvable(Step) {}
- expect(() => new Step9Bar().solve({}, () => {})).toThrow(/Not implemented/);
- });
- });