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)", 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) }) })