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

80 lines
2.5 KiB
JavaScript

const { _electron: electron } = require('@playwright/test')
const {
test: it,
expect
} = require('@playwright/test')
const { describe } = it
it.setTimeout(100000)
const delay = require('./common/wait')
const log = require('./common/log')
const appOptions = require('./common/app-options')
const e = require('./common/lang')
const extendClient = require('./common/client-extend')
describe('init setting buttons', function () {
it('all buttons open proper setting tab', async function () {
const electronApp = await electron.launch(appOptions)
const client = await electronApp.firstWindow()
extendClient(client, electronApp)
// await client.waitUntilWindowLoaded()
await delay(3500)
log('close current tab')
await client.hover('.tabs .tab')
await client.click('.tabs .tab .tab-close')
await delay(1000)
log('verify tab count')
const tabCount = await client.countElem('.tabs .tab')
expect(tabCount).toEqual(0)
log('button:edit')
await client.click('.btns .anticon-plus-circle')
await delay(3500)
const sel = '.setting-wrap .ant-tabs-nav-list .ant-tabs-tab-active'
const active = await client.element(sel)
expect(active).toBeVisible()
const text = await client.getText(sel)
expect(text).toEqual(e('bookmarks'))
log('close')
await client.click('.setting-wrap .close-setting-wrap')
await delay(900)
log('open setting')
await client.click('.btns .anticon-setting')
await delay(2500)
const active1 = await client.element(sel)
expect(active1).toBeVisible()
const text1 = await client.getText(sel)
expect(text1).toEqual(e('setting'))
log('close')
await client.click('.setting-wrap .close-setting-wrap')
await delay(900)
log('button:new ssh')
await client.click('.btns .anticon-plus-circle')
await delay(1000)
const active2 = await client.element(sel)
expect(active2).toBeVisible()
const text2 = await client.getText(sel)
expect(text2).toEqual(e('bookmarks'))
// log('tab it')
// await client.click('.setting-wrap .ant-tabs-tab:nth-child(3)')
// await delay(3100)
// const text4 = await client.getText(sel)
// expect(text4).toEqual(e('setting'))
await client.click('.setting-wrap .close-setting-wrap')
await delay(600)
log('button:edit again')
await client.click('.btns .anticon-plus-circle')
await delay(600)
const text5 = await client.getText(sel)
expect(text5).toEqual(e('bookmarks'))
await electronApp.close().catch(console.log)
})
})