fix(site): fix build logs route (#8100)

This commit is contained in:
Bruno Quaresma
2023-06-20 13:24:48 +00:00
committed by GitHub
parent eb0783ff24
commit c3781d95b4
2 changed files with 31 additions and 2 deletions
@@ -1,10 +1,32 @@
import { screen } from "@testing-library/react"
import { screen, waitFor } from "@testing-library/react"
import WS from "jest-websocket-mock"
import { renderWithAuth } from "../../testHelpers/renderHelpers"
import { WorkspaceBuildPage } from "./WorkspaceBuildPage"
import { MockWorkspace, MockWorkspaceBuild } from "testHelpers/entities"
import * as API from "api/api"
afterEach(() => {
WS.clean()
})
describe("WorkspaceBuildPage", () => {
test("gets the right workspace build", async () => {
const getWorkspaceBuildSpy = jest
.spyOn(API, "getWorkspaceBuildByNumber")
.mockResolvedValue(MockWorkspaceBuild)
renderWithAuth(<WorkspaceBuildPage />, {
route: `/@${MockWorkspace.owner_name}/${MockWorkspace.name}/builds/${MockWorkspace.latest_build.build_number}`,
path: "/:username/:workspace/builds/:buildNumber",
})
await waitFor(() =>
expect(getWorkspaceBuildSpy).toBeCalledWith(
MockWorkspace.owner_name,
MockWorkspace.name,
`${MockWorkspaceBuild.build_number}`,
),
)
})
test("the mock server seamlessly handles JSON protocols", async () => {
const server = new WS("ws://localhost:1234", { jsonProtocol: true })
const client = new WebSocket("ws://localhost:1234")
@@ -7,7 +7,14 @@ import { workspaceBuildMachine } from "../../xServices/workspaceBuild/workspaceB
import { WorkspaceBuildPageView } from "./WorkspaceBuildPageView"
export const WorkspaceBuildPage: FC = () => {
const { username, workspace: workspaceName, buildNumber } = useParams()
const params = useParams() as {
username: string
workspace: string
buildNumber: string
}
const workspaceName = params.workspace
const buildNumber = params.buildNumber
const username = params.username.replace("@", "")
const [buildState] = useMachine(workspaceBuildMachine, {
context: { username, workspaceName, buildNumber, timeCursor: new Date() },
})