Skip to content

fix(site): fix build logs route #8100

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
fix(site): Fix build logs route
  • Loading branch information
BrunoQuaresma committed Jun 20, 2023
commit 80abc1acc84a4b1e04a4ea5878d8b5456a3645dc
24 changes: 23 additions & 1 deletion site/src/pages/WorkspaceBuildPage/WorkspaceBuildPage.test.tsx
Original file line number Diff line number Diff line change
@@ -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")
Expand Down
9 changes: 8 additions & 1 deletion site/src/pages/WorkspaceBuildPage/WorkspaceBuildPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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() },
})
Expand Down