0e1f396645
* feat(cli): add disable-file-downloads to cli * feat(e2e): add download test * feat(e2e): add downloads disabled test * refactor(e2e): explain how to debug unexpected close * feat(patches): add disable file downloads * wip: update diff * Update src/node/cli.ts Co-authored-by: Asher <ash@coder.com> * fixup! add missing common/contextkeys file to patch * fixup!: update patch * fixup!: default disable-file-downloads undefined * fixup!: combine e2e tests * fixup!: use different test names * feat: add CS_DISABLE_FILE_DOWNLOADS * fixup!: make explicit and cleanup test * fixup!: use beforeEach Co-authored-by: Asher <ash@coder.com>
49 lines
1.5 KiB
TypeScript
49 lines
1.5 KiB
TypeScript
import * as path from "path"
|
|
import { promises as fs } from "fs"
|
|
import { clean } from "../utils/helpers"
|
|
import { describe, test, expect } from "./baseFixture"
|
|
|
|
describe("Downloads (enabled)", true, [], {}, 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
|
|
const fileInExplorer = await codeServerPage.page.waitForSelector("text=unique-file.txt")
|
|
await fileInExplorer.click({
|
|
button: "right",
|
|
})
|
|
|
|
expect(await codeServerPage.page.isVisible("text=Download...")).toBe(true)
|
|
})
|
|
})
|
|
|
|
describe("Downloads (disabled)", true, ["--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
|
|
const fileInExplorer = await codeServerPage.page.waitForSelector("text=unique-file.txt")
|
|
await fileInExplorer.click({
|
|
button: "right",
|
|
})
|
|
|
|
expect(await codeServerPage.page.isVisible("text=Download...")).toBe(false)
|
|
})
|
|
})
|