tangled
alpha
login
or
join now
tylur.dev
/
prototypey
prototypey.org - atproto lexicon typescript toolkit - mirror https://github.com/tylersayshi/prototypey
1
fork
atom
overview
issues
pulls
pipelines
fix act error
Tyler
3 months ago
8c94efac
305a208f
+20
-5
2 changed files
expand all
collapse all
unified
split
packages
site
tests
components
Editor.test.tsx
Playground.test.tsx
+14
-4
packages/site/tests/components/Editor.test.tsx
···
1
import { describe, it, expect, vi } from "vitest";
2
-
import { render, screen } from "@testing-library/react";
3
import { userEvent } from "@testing-library/user-event";
4
import { Editor } from "../../src/components/Editor";
5
···
53
expect(screen.getByText("Input")).toBeInTheDocument();
54
55
// Wait for loader to complete
56
-
await screen.findByTestId("monaco-editor");
0
0
57
});
58
59
it("calls onChange when value changes", async () => {
···
61
render(<Editor value="" onChange={mockOnChange} />);
62
63
// Wait for loader to complete
64
-
const editor = await screen.findByTestId("monaco-editor");
0
0
0
0
65
await userEvent.type(editor, "test");
66
67
expect(mockOnChange).toHaveBeenCalled();
···
72
render(<Editor value="const x = 1" onChange={mockOnChange} />);
73
74
// Wait for loader to complete
75
-
const editor = await screen.findByTestId("monaco-editor");
0
0
0
0
76
expect(editor).toHaveValue("const x = 1");
77
});
78
});
···
1
import { describe, it, expect, vi } from "vitest";
2
+
import { render, screen, waitFor } from "@testing-library/react";
3
import { userEvent } from "@testing-library/user-event";
4
import { Editor } from "../../src/components/Editor";
5
···
53
expect(screen.getByText("Input")).toBeInTheDocument();
54
55
// Wait for loader to complete
56
+
await waitFor(() => {
57
+
expect(screen.getByTestId("monaco-editor")).toBeInTheDocument();
58
+
});
59
});
60
61
it("calls onChange when value changes", async () => {
···
63
render(<Editor value="" onChange={mockOnChange} />);
64
65
// Wait for loader to complete
66
+
await waitFor(() => {
67
+
expect(screen.getByTestId("monaco-editor")).toBeInTheDocument();
68
+
});
69
+
70
+
const editor = screen.getByTestId("monaco-editor");
71
await userEvent.type(editor, "test");
72
73
expect(mockOnChange).toHaveBeenCalled();
···
78
render(<Editor value="const x = 1" onChange={mockOnChange} />);
79
80
// Wait for loader to complete
81
+
await waitFor(() => {
82
+
expect(screen.getByTestId("monaco-editor")).toBeInTheDocument();
83
+
});
84
+
85
+
const editor = screen.getByTestId("monaco-editor");
86
expect(editor).toHaveValue("const x = 1");
87
});
88
});
+6
-1
packages/site/tests/components/Playground.test.tsx
···
61
}));
62
63
describe("Playground", () => {
64
-
it("renders Editor and OutputPanel components", () => {
65
render(<Playground />);
66
67
expect(screen.getByText("Input")).toBeInTheDocument();
68
expect(screen.getByText("Output")).toBeInTheDocument();
0
0
0
0
0
69
});
70
71
it("starts with default code in editor", async () => {
···
61
}));
62
63
describe("Playground", () => {
64
+
it("renders Editor and OutputPanel components", async () => {
65
render(<Playground />);
66
67
expect(screen.getByText("Input")).toBeInTheDocument();
68
expect(screen.getByText("Output")).toBeInTheDocument();
69
+
70
+
// Wait for async state updates to complete
71
+
await waitFor(() => {
72
+
expect(screen.getAllByTestId("monaco-editor").length).toBeGreaterThan(0);
73
+
});
74
});
75
76
it("starts with default code in editor", async () => {