Skip to content

Commit 989d249

Browse files
authored
[ci] Clear warning from Grid UI component tests (SeleniumHQ#15783)
1 parent d045b8f commit 989d249

File tree

3 files changed

+92
-27
lines changed

3 files changed

+92
-27
lines changed

javascript/grid-ui/src/screens/Overview/Overview.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ function Overview (): JSX.Element {
4848
pollInterval: GridConfig.status.xhrPollingIntervalMillis,
4949
fetchPolicy: 'network-only'
5050
})
51-
51+
5252
const { data: sessionsData } = useQuery(GRID_SESSIONS_QUERY, {
5353
pollInterval: GridConfig.status.xhrPollingIntervalMillis,
5454
fetchPolicy: 'network-only'
@@ -190,7 +190,7 @@ function Overview (): JSX.Element {
190190
<Select value={sortOption} onChange={handleSortChange}
191191
label="Sort By" style={{ minWidth: '170px' }}>
192192
{Object.keys(sortProperties).map((key) => (
193-
<MenuItem value={key}>
193+
<MenuItem key={key} value={key}>
194194
{sortPropertiesLabel[key]}
195195
</MenuItem>
196196
))}
@@ -223,8 +223,8 @@ function Overview (): JSX.Element {
223223
flexDirection: 'column'
224224
}}
225225
>
226-
<Node
227-
node={node}
226+
<Node
227+
node={node}
228228
sessions={sessionsData?.sessionsInfo?.sessions?.filter(
229229
session => session.nodeId === node.id
230230
) || []}

javascript/grid-ui/src/tests/components/Node.test.tsx

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ const sessionWithVnc = {
6767
capabilities: JSON.stringify({
6868
'browserName': 'chrome',
6969
'browserVersion': '88.0',
70-
'se:vnc': 'ws://192.168.1.7:5900/websockify'
70+
'se:vnc': 'ws://172.17.0.2:4444/session/4d31d065-6cb9-4545-ac8d-d70ed5f5168b/se/vnc'
7171
}),
7272
nodeId: node.id
7373
}
@@ -116,10 +116,10 @@ describe('Node component', () => {
116116

117117
it('opens live view dialog when camera icon is clicked', async () => {
118118
render(<Node node={node} sessions={[sessionWithVnc]} origin="http://localhost:4444" />)
119-
119+
120120
const user = userEvent.setup()
121121
await user.click(screen.getByTestId('VideocamIcon'))
122-
122+
123123
expect(screen.getByText('Node Session Live View')).toBeInTheDocument()
124124
const dialogTitle = screen.getByText('Node Session Live View')
125125
const dialog = dialogTitle.closest('.MuiDialog-root')
@@ -132,42 +132,40 @@ describe('Node component', () => {
132132

133133
it('closes live view dialog when close button is clicked', async () => {
134134
render(<Node node={node} sessions={[sessionWithVnc]} origin="http://localhost:4444" />)
135-
135+
136136
const user = userEvent.setup()
137137
await user.click(screen.getByTestId('VideocamIcon'))
138-
138+
139139
expect(screen.getByText('Node Session Live View')).toBeInTheDocument()
140-
140+
141141
await user.click(screen.getByRole('button', { name: /close/i }))
142-
142+
143143
expect(screen.queryByText('Node Session Live View')).not.toBeInTheDocument()
144144
})
145145

146146
it('correctly transforms VNC URL for WebSocket connection', async () => {
147147
const origin = 'https://grid.example.com'
148148
render(<Node node={node} sessions={[sessionWithVnc]} origin={origin} />)
149-
149+
150150
const user = userEvent.setup()
151151
await user.click(screen.getByTestId('VideocamIcon'))
152-
152+
153153
const liveView = screen.getByTestId('mock-live-view')
154154
const url = liveView.getAttribute('data-url')
155-
156-
expect(url).toContain('wss:')
157-
expect(url).toContain('grid.example.com')
158-
expect(url).toContain('/websockify')
155+
156+
expect(url).toBe('wss://grid.example.com/session/4d31d065-6cb9-4545-ac8d-d70ed5f5168b/se/vnc')
159157
})
160158

161159
it('handles HTTP to WS protocol conversion correctly', async () => {
162160
const httpOrigin = 'http://grid.example.com'
163161
render(<Node node={node} sessions={[sessionWithVnc]} origin={httpOrigin} />)
164-
162+
165163
const user = userEvent.setup()
166164
await user.click(screen.getByTestId('VideocamIcon'))
167-
165+
168166
const liveView = screen.getByTestId('mock-live-view')
169167
const url = liveView.getAttribute('data-url')
170-
168+
171169
expect(url).toContain('ws:')
172170
expect(url).not.toContain('wss:')
173171
})
@@ -182,15 +180,15 @@ describe('Node component', () => {
182180
}),
183181
nodeId: node.id
184182
}
185-
183+
186184
render(<Node node={node} sessions={[invalidVncSession]} origin="http://localhost:4444" />)
187-
185+
188186
const user = userEvent.setup()
189187
await user.click(screen.getByTestId('VideocamIcon'))
190-
188+
191189
const liveView = screen.getByTestId('mock-live-view')
192190
const url = liveView.getAttribute('data-url')
193-
191+
194192
expect(url).toBe('')
195193
})
196194
})

javascript/grid-ui/src/tests/components/Overview.test.tsx

Lines changed: 70 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,16 @@ const mockSessionsData = {
102102
browserVersion: '88.0',
103103
platformName: 'linux',
104104
'se:vnc': 'ws://192.168.1.10:5900/websockify'
105-
})
105+
}),
106+
startTime: '2023-01-01T00:00:00Z',
107+
uri: 'http://192.168.1.10:4444/session/session1',
108+
nodeUri: 'http://192.168.1.10:4444',
109+
sessionDurationMillis: 60000,
110+
slot: {
111+
id: 'slot1',
112+
stereotype: '{"browserName":"chrome"}',
113+
lastStarted: '2023-01-01T00:00:00Z'
114+
}
106115
},
107116
{
108117
id: 'session2',
@@ -111,9 +120,19 @@ const mockSessionsData = {
111120
browserName: 'firefox',
112121
browserVersion: '78.0',
113122
platformName: 'windows'
114-
})
123+
}),
124+
startTime: '2023-01-01T00:00:00Z',
125+
uri: 'http://192.168.1.11:4444/session/session2',
126+
nodeUri: 'http://192.168.1.11:4444',
127+
sessionDurationMillis: 60000,
128+
slot: {
129+
id: 'slot2',
130+
stereotype: '{"browserName":"firefox"}',
131+
lastStarted: '2023-01-01T00:00:00Z'
132+
}
115133
}
116-
]
134+
],
135+
sessionQueueRequests: []
117136
}
118137
}
119138

@@ -126,6 +145,22 @@ const mocks = [
126145
data: mockNodesData
127146
}
128147
},
148+
{
149+
request: {
150+
query: GRID_SESSIONS_QUERY
151+
},
152+
result: {
153+
data: mockSessionsData
154+
}
155+
},
156+
{
157+
request: {
158+
query: GRID_SESSIONS_QUERY
159+
},
160+
result: {
161+
data: mockSessionsData
162+
}
163+
},
129164
{
130165
request: {
131166
query: GRID_SESSIONS_QUERY
@@ -295,6 +330,22 @@ describe('Overview component', () => {
295330
query: NODES_QUERY
296331
},
297332
error: new Error('Network error')
333+
},
334+
{
335+
request: {
336+
query: GRID_SESSIONS_QUERY
337+
},
338+
result: {
339+
data: mockSessionsData
340+
}
341+
},
342+
{
343+
request: {
344+
query: GRID_SESSIONS_QUERY
345+
},
346+
result: {
347+
data: mockSessionsData
348+
}
298349
}
299350
]
300351

@@ -319,6 +370,22 @@ describe('Overview component', () => {
319370
result: {
320371
data: { nodesInfo: { nodes: [] } }
321372
}
373+
},
374+
{
375+
request: {
376+
query: GRID_SESSIONS_QUERY
377+
},
378+
result: {
379+
data: mockSessionsData
380+
}
381+
},
382+
{
383+
request: {
384+
query: GRID_SESSIONS_QUERY
385+
},
386+
result: {
387+
data: mockSessionsData
388+
}
322389
}
323390
]
324391

0 commit comments

Comments
 (0)