Release Minimize Tools 0.1.0
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { render, screen, waitFor } from "@testing-library/react";
|
||||
import userEvent from "@testing-library/user-event";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { Workbench } from "../../src/components/Workbench";
|
||||
|
||||
describe("Minimize workbench", () => {
|
||||
it("minimizes the focused JSON Schema example", async () => {
|
||||
const user = userEvent.setup();
|
||||
render(<Workbench />);
|
||||
await user.click(
|
||||
screen.getByRole("button", { name: "Minimize reproducer" }),
|
||||
);
|
||||
await waitFor(() =>
|
||||
expect(
|
||||
(screen.getByLabelText("Minimized result") as HTMLTextAreaElement)
|
||||
.value,
|
||||
).toContain('"id":0'),
|
||||
);
|
||||
expect(screen.getByText(/bytes · \d+ tests/u)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("keeps the last complete result after a predicate error", async () => {
|
||||
const user = userEvent.setup();
|
||||
render(<Workbench />);
|
||||
await user.click(
|
||||
screen.getByRole("button", { name: "Minimize reproducer" }),
|
||||
);
|
||||
await waitFor(() =>
|
||||
expect(screen.getByLabelText("Minimized result")).not.toHaveValue(""),
|
||||
);
|
||||
const previous = (
|
||||
screen.getByLabelText("Minimized result") as HTMLTextAreaElement
|
||||
).value;
|
||||
await user.selectOptions(
|
||||
screen.getByLabelText("Failure predicate"),
|
||||
"contains",
|
||||
);
|
||||
const marker = screen.getByLabelText("Marker");
|
||||
await user.clear(marker);
|
||||
await user.type(marker, "NOT PRESENT");
|
||||
await user.click(
|
||||
screen.getByRole("button", { name: "Minimize reproducer" }),
|
||||
);
|
||||
await waitFor(() =>
|
||||
expect(screen.getByRole("alert")).toHaveTextContent(/retained/u),
|
||||
);
|
||||
expect(screen.getByLabelText("Minimized result")).toHaveValue(previous);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user