mirror of
https://github.com/coder/code-server.git
synced 2026-09-11 18:23:23 +02:00
* Update Code to 1.136.1 * Do not click on tab during test file opens It will already be the selected tab, and if any other tab is already open (like the welcome tab), it will click that instead. We disable the welcome page so this is not supposed to actually matter, but that Setting appears not to be working. Also add the quick input widget selector in the disabled downloads test, since if the widget never shows up it would mistakenly pass.
108 lines
4.3 KiB
TypeScript
108 lines
4.3 KiB
TypeScript
import { promises as fs } from "fs"
|
|
import * as path from "path"
|
|
import { clean } from "../utils/helpers"
|
|
import { describe, test, expect } from "./baseFixture"
|
|
|
|
describe("Downloads (enabled)", ["--disable-workspace-trust"], {}, async () => {
|
|
const testName = "downloads-enabled"
|
|
test.beforeAll(async () => {
|
|
await clean(testName)
|
|
})
|
|
|
|
test("should see the 'Download...' option", async ({ codeServerPage }) => {
|
|
// Setup
|
|
const workspaceDir = await codeServerPage.workspaceDir
|
|
const tmpFilePath = path.join(workspaceDir, "unique-file.txt")
|
|
await fs.writeFile(tmpFilePath, "hello world")
|
|
|
|
// Action
|
|
await codeServerPage.openContextMenu("text=unique-file.txt")
|
|
|
|
await expect(codeServerPage.page.locator("text=Download...")).toBeVisible()
|
|
})
|
|
|
|
test("should see the 'Show Local' button on Save As", async ({ codeServerPage }) => {
|
|
// Setup
|
|
const workspaceDir = await codeServerPage.workspaceDir
|
|
const fileName = "unique-file-save-as.txt"
|
|
const tmpFilePath = path.join(workspaceDir, fileName)
|
|
await fs.writeFile(tmpFilePath, "Hello World")
|
|
|
|
// Action
|
|
await codeServerPage.page.waitForSelector(`text=${fileName}`)
|
|
|
|
await codeServerPage.openFile(fileName)
|
|
await codeServerPage.navigateMenus(["File", "Auto Save"])
|
|
await codeServerPage.page.keyboard.type("Making some edits.")
|
|
await codeServerPage.navigateMenus(["File", "Save As..."])
|
|
await codeServerPage.page.waitForSelector(".quick-input-widget")
|
|
await expect(codeServerPage.page.locator("text=Show Local")).toBeVisible()
|
|
})
|
|
|
|
test("should see the 'Show Local' button on Save File", async ({ codeServerPage }) => {
|
|
// Action
|
|
await codeServerPage.navigateMenus(["File", "New Text File"])
|
|
await codeServerPage.waitForTab("Untitled-1")
|
|
await codeServerPage.navigateMenus(["File", "Save"])
|
|
await codeServerPage.page.waitForSelector(".quick-input-widget")
|
|
await expect(codeServerPage.page.locator("text=Show Local")).toBeVisible()
|
|
})
|
|
|
|
test("should see the 'Show Local' button on Save Workspace As", async ({ codeServerPage }) => {
|
|
// Action
|
|
await codeServerPage.navigateMenus(["File", "Save Workspace As..."])
|
|
await codeServerPage.page.waitForSelector(".quick-input-widget")
|
|
await expect(codeServerPage.page.locator("text=Show Local")).toBeVisible()
|
|
})
|
|
})
|
|
|
|
describe("Downloads (disabled)", ["--disable-workspace-trust", "--disable-file-downloads"], {}, async () => {
|
|
const testName = "downloads-disabled"
|
|
test.beforeAll(async () => {
|
|
await clean(testName)
|
|
})
|
|
|
|
test("should not see the 'Download...' option", async ({ codeServerPage }) => {
|
|
// Setup
|
|
const workspaceDir = await codeServerPage.workspaceDir
|
|
const tmpFilePath = path.join(workspaceDir, "unique-file.txt")
|
|
await fs.writeFile(tmpFilePath, "Hello World")
|
|
|
|
// Action
|
|
await codeServerPage.openContextMenu("text=unique-file.txt")
|
|
|
|
await expect(codeServerPage.page.locator("text=Download...")).not.toBeVisible()
|
|
})
|
|
|
|
test("should not see the 'Show Local' button on Save as", async ({ codeServerPage }) => {
|
|
// Setup
|
|
const workspaceDir = await codeServerPage.workspaceDir
|
|
const fileName = "unique-file-save-as.txt"
|
|
const tmpFilePath = path.join(workspaceDir, fileName)
|
|
await fs.writeFile(tmpFilePath, "Hello World")
|
|
|
|
// Action
|
|
await codeServerPage.page.waitForSelector(`text=${fileName}`)
|
|
await codeServerPage.openFile(fileName)
|
|
await codeServerPage.navigateMenus(["File", "Save As..."])
|
|
await codeServerPage.page.waitForSelector(".quick-input-widget")
|
|
await expect(codeServerPage.page.locator("text=Show Local")).not.toBeVisible()
|
|
})
|
|
|
|
test("should not see the 'Show Local' button on Save File", async ({ codeServerPage }) => {
|
|
// Action
|
|
await codeServerPage.navigateMenus(["File", "New Text File"])
|
|
await codeServerPage.waitForTab("Untitled-1")
|
|
await codeServerPage.navigateMenus(["File", "Save"])
|
|
await codeServerPage.page.waitForSelector(".quick-input-widget")
|
|
await expect(codeServerPage.page.locator("text=Show Local")).not.toBeVisible()
|
|
})
|
|
|
|
test("should not see the 'Show Local' button on Save Workspace As", async ({ codeServerPage }) => {
|
|
// Action
|
|
await codeServerPage.navigateMenus(["File", "Save Workspace As..."])
|
|
await codeServerPage.page.waitForSelector(".quick-input-widget")
|
|
await expect(codeServerPage.page.locator("text=Show Local")).not.toBeVisible()
|
|
})
|
|
})
|