Skip to content

Commit f4b6921

Browse files
committed
Fix terminal test render
1 parent 63dc985 commit f4b6921

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

site/src/contexts/ProxyContext.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ interface PreferredProxy {
3030
preferredWildcardHostname: string
3131
}
3232

33-
const ProxyContext = createContext<ProxyContextValue | undefined>(undefined)
33+
export const ProxyContext = createContext<ProxyContextValue | undefined>(undefined)
3434

3535
/**
3636
* ProxyProvider interacts with local storage to indicate the preferred workspace proxy.
@@ -82,6 +82,7 @@ export const ProxyProvider: FC<PropsWithChildren> = ({ children }) => {
8282
queryKey: appHostQueryKey,
8383
queryFn: getApplicationsHost,
8484
})
85+
8586
// If the experiment is disabled, then make the setState do a noop.
8687
// This preserves an empty state, which is the default behavior.
8788
if (!dashboard?.experiments.includes("moons")) {

site/src/pages/TerminalPage/TerminalPage.test.tsx

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@ import { waitFor } from "@testing-library/react"
22
import "jest-canvas-mock"
33
import WS from "jest-websocket-mock"
44
import { rest } from "msw"
5-
import { Route, Routes } from "react-router-dom"
6-
import { MockWorkspace, MockWorkspaceAgent } from "testHelpers/entities"
5+
import {
6+
MockPrimaryRegion,
7+
MockWorkspace,
8+
MockWorkspaceAgent,
9+
} from "testHelpers/entities"
710
import { TextDecoder, TextEncoder } from "util"
811
import { ReconnectingPTYRequest } from "../../api/types"
9-
import { history, renderWithAuth } from "../../testHelpers/renderHelpers"
12+
import { history, render } from "../../testHelpers/renderHelpers"
1013
import { server } from "../../testHelpers/server"
1114
import TerminalPage, { Language } from "./TerminalPage"
15+
import { Route, Routes } from "react-router-dom"
16+
import { ProxyContext } from "contexts/ProxyContext"
1217

1318
Object.defineProperty(window, "matchMedia", {
1419
writable: true,
@@ -29,13 +34,26 @@ Object.defineProperty(window, "TextEncoder", {
2934
})
3035

3136
const renderTerminal = () => {
32-
return renderWithAuth(
37+
// @emyrk using renderWithAuth would be best here, but I was unable to get it to work.
38+
return render(
3339
<Routes>
3440
<Route
3541
path="/:username/:workspace/terminal"
36-
element={<TerminalPage renderer="dom" />}
42+
element={
43+
<ProxyContext.Provider value={{
44+
proxy: {
45+
selectedRegion: MockPrimaryRegion,
46+
preferredPathAppURL: "",
47+
preferredWildcardHostname: "",
48+
},
49+
isLoading: false,
50+
setProxy: jest.fn(),
51+
}}>
52+
<TerminalPage renderer="dom" />
53+
</ProxyContext.Provider>
54+
}
3755
/>
38-
</Routes>,
56+
</Routes >,
3957
)
4058
}
4159

0 commit comments

Comments
 (0)