65 lines
1.8 KiB
JavaScript
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)
|
|
})
|
|
})
|