Files
electerm--electerm/test/e2e/009.3.upgrade.check.spec.js
2026-07-13 12:46:20 +08:00

65 lines
1.8 KiB
JavaScript

const { _electron: electron } = require('@playwright/test')
const {
test: it
} = require('@playwright/test')
const { describe } = it
it.setTimeout(100000)
const delay = require('./common/wait')
const appOptions = require('./common/app-options')
const extendClient = require('./common/client-extend')
const log = require('./common/log')
const { expect } = require('./common/expect')
describe('auto upgrade check', function () {
it('auto upgrade check should work', async function () {
const electronApp = await electron.launch(appOptions)
const client = await electronApp.firstWindow()
extendClient(client, electronApp)
let v = ''
while (v !== '0.0.0') {
v = await client.evaluate(() => {
if (window.et) {
console.log('no retry set version')
window.et.version = '0.0.0'
return '0.0.0'
}
console.log('retry set version')
return ''
})
await delay(2)
}
console.log('v', v)
const len1 = 10000
const sel = '.animate.upgrade-panel'
for (let i = 0; i < len1; i++) {
await delay(500)
if (await client.elemExist(sel)) {
break
}
}
log('should show upgrade info')
log('start download upgrade')
await client.click('.upgrade-panel .ant-btn-primary')
const fr = {}
const len = 200
for (let i = 0; i < len; i++) {
await delay(500)
const txt = await client.getText('.upgrade-panel .ant-btn-primary')
console.log('txt', txt)
if (txt.includes('Upgrading... 0% Cancel')) {
fr.zero = 1
} else if (
txt.includes('% Cancel')
) {
fr.progress = 1
}
if (fr.zero && fr.progress) {
break
}
}
expect(fr.progress).equal(1)
expect(fr.zero).equal(1)
await electronApp.close().catch(console.log)
})
})