2024-08-11 13:56:11 +03:00
|
|
|
import test, { expect } from "@playwright/test";
|
|
|
|
|
|
|
|
test("User can change language from settings", async ({ page }) => {
|
2025-01-09 18:07:02 +02:00
|
|
|
await page.goto("http://localhost:8082");
|
2024-08-11 14:13:05 +03:00
|
|
|
|
2024-08-11 13:56:11 +03:00
|
|
|
// Clear all tabs
|
2025-01-09 18:07:02 +02:00
|
|
|
await page.locator(".note-tab:first-of-type").locator("div").nth(1).click({ button: "right" });
|
|
|
|
await page.getByText("Close all tabs").click();
|
2024-08-11 13:56:11 +03:00
|
|
|
|
2024-08-11 14:13:05 +03:00
|
|
|
// Go to options -> Appearance
|
2025-01-09 18:07:02 +02:00
|
|
|
await page.locator("#launcher-pane div").filter({ hasText: "Options Open New Window" }).getByRole("button").click();
|
|
|
|
await page.locator("#launcher-pane").getByText("Options").click();
|
|
|
|
await page.locator("#center-pane").getByText("Appearance").click();
|
2024-08-11 13:56:11 +03:00
|
|
|
|
|
|
|
// Check that the default value (English) is set.
|
2025-01-09 18:07:02 +02:00
|
|
|
await expect(page.locator("#center-pane")).toContainText("Theme");
|
|
|
|
const languageCombobox = await page.getByRole("combobox").first();
|
2024-08-11 15:38:47 +03:00
|
|
|
await expect(languageCombobox).toHaveValue("en");
|
2024-08-11 13:56:11 +03:00
|
|
|
|
|
|
|
// Select Chinese and ensure the translation is set.
|
|
|
|
languageCombobox.selectOption("cn");
|
2025-01-09 18:07:02 +02:00
|
|
|
await expect(page.locator("#center-pane")).toContainText("主题");
|
2024-08-11 14:13:05 +03:00
|
|
|
|
|
|
|
// Select English again.
|
|
|
|
languageCombobox.selectOption("en");
|
2024-08-11 15:38:47 +03:00
|
|
|
});
|
|
|
|
|
2024-12-22 15:45:54 +02:00
|
|
|
test("Restores language on start-up on desktop", async ({ page, context }) => {
|
2025-01-09 18:07:02 +02:00
|
|
|
await page.goto("http://localhost:8082");
|
|
|
|
await expect(page.locator("#launcher-pane").first()).toContainText("Open New Window");
|
2024-08-11 15:38:47 +03:00
|
|
|
});
|
|
|
|
|
|
|
|
test("Restores language on start-up on mobile", async ({ page, context }) => {
|
|
|
|
await context.addCookies([
|
|
|
|
{
|
|
|
|
url: "http://localhost:8082",
|
|
|
|
name: "trilium-device",
|
|
|
|
value: "mobile"
|
|
|
|
}
|
|
|
|
]);
|
2025-01-09 18:07:02 +02:00
|
|
|
await page.goto("http://localhost:8082");
|
|
|
|
await expect(page.locator("#launcher-pane div").first()).toContainText("Open New Window");
|
2024-12-22 15:45:54 +02:00
|
|
|
});
|