up
This commit is contained in:
@@ -12,6 +12,8 @@ module.exports = async function onlineSmoke({
|
||||
displayId,
|
||||
root,
|
||||
}) {
|
||||
let gamesCalls = 0
|
||||
let varyGames = false
|
||||
let version = 1
|
||||
let offline = false
|
||||
let polls = 0
|
||||
@@ -47,8 +49,15 @@ module.exports = async function onlineSmoke({
|
||||
return send({ accessToken: 'TEST-ACCESS', refreshToken: 'TEST-REFRESH' })
|
||||
}
|
||||
if (path === '/api/users/me') return send({ user: { roles: ['organizer'] } })
|
||||
if (path === '/api/games')
|
||||
return send({ games: [{ ID: 6, name: 'HTTP smoke', status: 'finish' }] })
|
||||
if (path === '/api/games') {
|
||||
gamesCalls++
|
||||
return send({
|
||||
games:
|
||||
varyGames && gamesCalls % 2 === 0
|
||||
? []
|
||||
: [{ ID: 6, name: 'HTTP smoke', status: 'finish' }],
|
||||
})
|
||||
}
|
||||
if (path === '/api/games/6')
|
||||
return send({
|
||||
game: {
|
||||
@@ -173,6 +182,48 @@ module.exports = async function onlineSmoke({
|
||||
),
|
||||
'server game selector',
|
||||
)
|
||||
varyGames = true
|
||||
for (let refresh = 0; refresh < 5; refresh++) {
|
||||
await poll(
|
||||
() =>
|
||||
evaluate(
|
||||
`!Array.from(document.querySelectorAll('button')).find(b => b.textContent.trim() === 'Обновить список игр')?.disabled`,
|
||||
),
|
||||
'refresh games button ready',
|
||||
)
|
||||
const previousCalls = gamesCalls
|
||||
await evaluate(
|
||||
`Array.from(document.querySelectorAll('button')).find(b => b.textContent.trim() === 'Обновить список игр').click()`,
|
||||
)
|
||||
await poll(
|
||||
async () =>
|
||||
gamesCalls > previousCalls && !(await evaluate('window.screenBridge.onlineState()')).busy,
|
||||
'refresh games complete',
|
||||
)
|
||||
await poll(
|
||||
() =>
|
||||
evaluate(
|
||||
`document.querySelector('.connection-content')?.textContent.includes('Управление не подключено')`,
|
||||
),
|
||||
'connection status rendered',
|
||||
)
|
||||
assert.equal(
|
||||
await evaluate(
|
||||
`document.querySelector('.connection-content').textContent.split('Управление не подключено').length - 1`,
|
||||
),
|
||||
1,
|
||||
'refresh does not duplicate status',
|
||||
)
|
||||
}
|
||||
await poll(
|
||||
() =>
|
||||
evaluate(
|
||||
`!Array.from(document.querySelectorAll('button')).find(b => b.textContent.trim() === 'Обновить список игр')?.disabled`,
|
||||
),
|
||||
'last refresh complete',
|
||||
)
|
||||
varyGames = false
|
||||
await act({ action: 'games' })
|
||||
await evaluate(
|
||||
`Array.from(document.querySelectorAll('.n-base-selection')).find(e => e.textContent.includes('Выберите игру для подготовки')).click()`,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user