21 lines
948 B
TypeScript
21 lines
948 B
TypeScript
import { render, screen } from "@testing-library/react";
|
|
import userEvent from "@testing-library/user-event";
|
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
import { Workbench } from "../../src/components/Workbench";
|
|
|
|
describe("3D workbench", () => {
|
|
afterEach(() => vi.restoreAllMocks());
|
|
|
|
it("keeps inspection usable when WebGL is unavailable", async () => {
|
|
vi.spyOn(HTMLCanvasElement.prototype, "getContext").mockReturnValue(null);
|
|
const user = userEvent.setup();
|
|
render(<Workbench />);
|
|
expect(screen.getByText("4", { selector: "dd" })).toBeVisible();
|
|
expect(await screen.findByText(/WebGL is unavailable/u)).toBeVisible();
|
|
await user.clear(screen.getByLabelText("Uniform scale"));
|
|
await user.type(screen.getByLabelText("Uniform scale"), "2");
|
|
await user.click(screen.getByRole("button", { name: "Apply transform" }));
|
|
expect(screen.getByText(/Transform baked/u)).toBeVisible();
|
|
});
|
|
});
|