/* Copyright 2024 New Vector Ltd. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ import { resolve, dirname } from "node:path"; import { fileURLToPath } from "node:url"; import { test, expect } from "../../element-desktop-test.js"; const __dirname = dirname(fileURLToPath(import.meta.url)); test.describe("App config options", () => { test.describe("Should load custom config via env", () => { test.slow(); test.use({ extraEnv: { ELEMENT_DESKTOP_CONFIG_JSON: resolve(__dirname, "../..", "fixtures/custom-config.json"), }, }); test("should launch and use configured homeserver", async ({ page }) => { await page.locator("#matrixchat").waitFor(); await page.locator(".mx_Welcome").waitFor(); await expect(page).toHaveURL("vector://vector/webapp/#/welcome"); await page.getByText("Sign in").click(); await page.getByText("matrix.example.org", { exact: true }).waitFor(); }); }); test.describe("Should load custom config via argument", () => { test.slow(); test.use({ extraArgs: ["--config", resolve(__dirname, "../..", "fixtures/custom-config.json")], }); test("should launch and use configured homeserver", async ({ page }) => { await page.locator("#matrixchat").waitFor(); await page.locator(".mx_Welcome").waitFor(); await expect(page).toHaveURL("vector://vector/webapp/#/welcome"); await page.getByText("Sign in").click(); await page.getByText("matrix.example.org", { exact: true }).waitFor(); }); }); });