import { render, screen } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
import { SolveWorkspace } from "../../src/components/SolveWorkspace";
import type { ExactSolveResult } from "../../src/solver";
const limited: ExactSolveResult = {
solutions: [],
count: 0,
truncated: true,
limitReason: "timeout",
nodes: 100,
elapsedMs: 10_000,
};
describe("solve result reporting", () => {
it("does not report zero solutions at a safety limit as unsatisfiable", () => {
const props = {
size: 9,
busy: false,
onLogical: vi.fn(),
onExact: vi.fn(),
onApplyValues: vi.fn(),
onFocusCells: vi.fn(),
};
const { rerender } = render();
expect(
screen.getByText(/solvability is not established/u),
).toBeInTheDocument();
expect(
screen.queryByText("No completion satisfies every supported rule."),
).not.toBeInTheDocument();
rerender(
,
);
expect(
screen.getByText("No completion satisfies every supported rule."),
).toBeInTheDocument();
});
});