|
1 |
| -import { screen } from "@testing-library/react" |
| 1 | +import { screen, waitFor } from "@testing-library/react" |
2 | 2 | import WS from "jest-websocket-mock"
|
3 | 3 | import { renderWithAuth } from "../../testHelpers/renderHelpers"
|
4 | 4 | import { WorkspaceBuildPage } from "./WorkspaceBuildPage"
|
5 | 5 | import { MockWorkspace, MockWorkspaceBuild } from "testHelpers/entities"
|
| 6 | +import * as API from "api/api" |
| 7 | + |
| 8 | +afterEach(() => { |
| 9 | + WS.clean() |
| 10 | +}) |
6 | 11 |
|
7 | 12 | describe("WorkspaceBuildPage", () => {
|
| 13 | + test("gets the right workspace build", async () => { |
| 14 | + const getWorkspaceBuildSpy = jest |
| 15 | + .spyOn(API, "getWorkspaceBuildByNumber") |
| 16 | + .mockResolvedValue(MockWorkspaceBuild) |
| 17 | + renderWithAuth(<WorkspaceBuildPage />, { |
| 18 | + route: `/@${MockWorkspace.owner_name}/${MockWorkspace.name}/builds/${MockWorkspace.latest_build.build_number}`, |
| 19 | + path: "/:username/:workspace/builds/:buildNumber", |
| 20 | + }) |
| 21 | + await waitFor(() => |
| 22 | + expect(getWorkspaceBuildSpy).toBeCalledWith( |
| 23 | + MockWorkspace.owner_name, |
| 24 | + MockWorkspace.name, |
| 25 | + `${MockWorkspaceBuild.build_number}`, |
| 26 | + ), |
| 27 | + ) |
| 28 | + }) |
| 29 | + |
8 | 30 | test("the mock server seamlessly handles JSON protocols", async () => {
|
9 | 31 | const server = new WS("ws://localhost:1234", { jsonProtocol: true })
|
10 | 32 | const client = new WebSocket("ws://localhost:1234")
|
|
0 commit comments