Files
electerm--electerm/test/e2e/009.2.quick-command.spec.js
T
2026-07-13 12:46:20 +08:00

61 lines
1.8 KiB
JavaScript

/**
* quick commands execution test
*/
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 extendClient = require('./common/client-extend')
const { getTerminalContent } = require('./common/basic-terminal-test')
describe('quick commands execution', function () {
it('should execute quick command when clicked in quick command box', async function () {
const electronApp = await electron.launch(appOptions)
const client = await electronApp.firstWindow()
extendClient(client, electronApp)
await delay(3500)
const initialContent = await getTerminalContent(client)
await client.evaluate(() => {
window.store.addQuickCommand({
name: 'ls',
commands: [
{
command: 'ls',
id: Date.now() + '',
delay: 100
}
]
})
})
// Open quick command box by hovering the trigger
log('open quick command box')
await client.hover('.quick-command-trigger-wrap .ant-btn')
await delay(1000)
// Verify quick command box is visible
// const quickCommandBox = await client.element('.quick-command-box')
// await expect(quickCommandBox).toBeVisible()
// Click the quick command created in previous test
log('execute quick command')
await client.click('.qm-item')
await delay(1000)
// Get new terminal content
const newContent = await getTerminalContent(client)
// Verify command was executed
await expect(newContent.length).toBeGreaterThan(initialContent.length)
await electronApp.close().catch(console.log)
})
})