feat: add test for markdown webview (#5740)

* feat: add test for markdown webview

* fixup!: use frameLocator
This commit is contained in:
Joe Previte 2022-11-03 15:08:12 -07:00 committed by GitHub
parent 2530a0d265
commit f56ce5b66d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 0 deletions

28
test/e2e/webview.test.ts Normal file
View File

@ -0,0 +1,28 @@
import { promises as fs } from "fs"
import * as path from "path"
import { describe, test, expect } from "./baseFixture"
describe("Webviews", ["--disable-workspace-trust"], {}, () => {
test("should preview a Markdown file", async ({ codeServerPage }) => {
// Create Markdown file
const heading = "Hello world"
const dir = await codeServerPage.workspaceDir
const file = path.join(dir, "text.md")
await fs.writeFile(file, `# ${heading}`)
await codeServerPage.openFile(file)
// Open Preview
await codeServerPage.executeCommandViaMenus("Markdown: Open Preview to the Side")
// Wait for the iframe to open and load
await codeServerPage.waitForTab(`Preview ${file}`)
// It's an iframe within an iframe
// so we have to do .frameLocator twice
const renderedText = await codeServerPage.page
.frameLocator("iframe.webview.ready")
.frameLocator("#active-frame")
.locator("text=Hello world")
expect(renderedText).toBeVisible
})
})