refactor: globalSetup to use CodeServer model
This commit is contained in:
@ -15,7 +15,13 @@ export class CodeServer {
|
||||
*/
|
||||
async navigate() {
|
||||
await this.page.goto(CODE_SERVER_ADDRESS, { waitUntil: "networkidle" })
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the editor is visible
|
||||
* and reloads until it is
|
||||
*/
|
||||
async reloadUntilEditorIsVisible() {
|
||||
const editorIsVisible = await this.isEditorVisible()
|
||||
let reloadCount = 0
|
||||
|
||||
@ -56,7 +62,12 @@ export class CodeServer {
|
||||
// then we can focus it by hitting the keyboard shortcut
|
||||
const isTerminalVisible = await this.page.isVisible("#terminal")
|
||||
if (isTerminalVisible) {
|
||||
await this.page.keyboard.press(`Meta+Backquote`)
|
||||
await this.page.keyboard.press(`Control+Backquote`)
|
||||
// Wait for terminal to receive focus
|
||||
await this.page.waitForSelector("div.terminal.xterm.focus")
|
||||
// Sometimes the terminal reloads
|
||||
// which is why we wait for it twice
|
||||
await this.page.waitForSelector("div.terminal.xterm.focus")
|
||||
return
|
||||
}
|
||||
// Open using the manu
|
||||
@ -70,5 +81,24 @@ export class CodeServer {
|
||||
// Click text=Terminal
|
||||
await this.page.hover("text=Terminal")
|
||||
await this.page.click("text=Terminal")
|
||||
|
||||
// Wait for terminal to receive focus
|
||||
// Sometimes the terminal reloads once or twice
|
||||
// which is why we wait for it to have the focus class
|
||||
await this.page.waitForSelector("div.terminal.xterm.focus")
|
||||
// Sometimes the terminal reloads
|
||||
// which is why we wait for it twice
|
||||
await this.page.waitForSelector("div.terminal.xterm.focus")
|
||||
}
|
||||
|
||||
/**
|
||||
* Navigates to CODE_SERVER_ADDRESS
|
||||
* and reloads until the editor is visible
|
||||
*
|
||||
* Helpful for running before tests
|
||||
*/
|
||||
async setup() {
|
||||
await this.navigate()
|
||||
await this.reloadUntilEditorIsVisible()
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user