Files
electerm--electerm/test/e2e/0101.timeout-setting.spec.js
2026-07-13 12:46:20 +08:00

79 lines
2.5 KiB
JavaScript

/**
* timeout setting
* need TEST_HOST TEST_PASS TEST_USER env set
*/
const { _electron: electron } = require('@playwright/test')
const {
test: it
} = require('@playwright/test')
const { describe } = it
it.setTimeout(100000)
const { expect } = require('./common/expect')
const delay = require('./common/wait')
const log = require('./common/log')
const appOptions = require('./common/app-options')
const extendClient = require('./common/client-extend')
const { closeApp, setupSshConnection } = require('./common/common')
describe('timeout setting', function () {
it('timeout setting works', async function () {
const electronApp = await electron.launch(appOptions)
const client = await electronApp.firstWindow()
extendClient(client, electronApp)
await delay(6000)
log('0101.timeout-setting.spec.js: set timeout to 100')
await client.evaluate(() => {
window.store.setConfig({
sshReadyTimeout: 100
})
})
await delay(400)
const timeout = await client.evaluate(() => {
return window.store.config.sshReadyTimeout
})
await delay(150)
expect(timeout).equal(100)
log('0101.timeout-setting.spec.js: open new ssh and timeout')
await setupSshConnection(client)
log('0101.timeout-setting.spec.js: ssh form submitted')
await delay(5500)
log('0101.timeout-setting.spec.js: waited after submit')
const errSel = '.terminal-error-handle .ant-alert-title'
log('0101.timeout-setting.spec.js: starting error check loop')
for (let i = 0; i < 25; i++) {
await delay(500)
const errExist = await client.elemExist(errSel)
if (errExist) {
log('0101.timeout-setting.spec.js: error found at iteration ' + i)
break
}
}
const txt = await client.getText(errSel)
log('0101.timeout-setting.spec.js: error text: ' + txt)
expect(txt.includes('Timed out')).equal(true)
log('0101.timeout-setting.spec.js: set timeout to 50000')
await delay(1500)
await client.evaluate(() => {
window.store.setConfig({
sshReadyTimeout: 50000
})
})
await delay(1555)
const timeout1 = await client.evaluate(() => {
return window.store.config.sshReadyTimeout
})
await delay(150)
expect(timeout1).equal(50000)
log('0101.timeout-setting.spec.js: timeout set to 50000 verified')
await delay(400)
log('0101.timeout-setting.spec.js: closing app')
await closeApp(electronApp, __filename)
log('0101.timeout-setting.spec.js: app closed')
})
})