mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-29 02:28:57 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { test, expect, Page } from "@playwright/test";
 | |
| import App from "./support/app";
 | |
| 
 | |
| test.afterEach(async ({ page, context }) => {
 | |
|     const app = new App(page, context);
 | |
|     // Ensure English is set after each locale change to avoid any leaks to other tests.
 | |
|     await app.setOption("locale", "en");
 | |
| });
 | |
| 
 | |
| test("Displays translation on desktop", async ({ page, context }) => {
 | |
|     const app = new App(page, context);
 | |
|     await app.goto();
 | |
| 
 | |
|     await expect(page.locator("#left-pane .quick-search input"))
 | |
|         .toHaveAttribute("placeholder", "Quick search");
 | |
| });
 | |
| 
 | |
| test("Displays translation on mobile", async ({ page, context }) => {
 | |
|     const app = new App(page, context);
 | |
|     await app.goto({ isMobile: true });
 | |
| 
 | |
|     await expect(page.locator("#mobile-sidebar-wrapper .quick-search input"))
 | |
|         .toHaveAttribute("placeholder", "Quick search");
 | |
| });
 | |
| 
 | |
| test("Displays translations in Settings", async ({ page, context }) => {
 | |
|     const app = new App(page, context);
 | |
|     await app.goto();
 | |
|     await app.closeAllTabs();
 | |
|     await app.goToSettings();
 | |
|     await app.noteTree.getByText("Appearance").click();
 | |
| 
 | |
|     await expect(app.currentNoteSplit).toContainText("Localization");
 | |
|     await expect(app.currentNoteSplit).toContainText("Language");
 | |
| });
 | |
| 
 | |
| test("User can change language from settings", async ({ page, context }) => {
 | |
|     const app = new App(page, context);
 | |
|     await app.goto();
 | |
| 
 | |
|     await app.closeAllTabs();
 | |
|     await app.goToSettings();
 | |
|     await app.noteTree.getByText("Appearance").click();
 | |
| 
 | |
|     // Check that the default value (English) is set.
 | |
|     await expect(app.currentNoteSplit).toContainText("Theme");
 | |
|     const languageCombobox = await app.currentNoteSplit.getByRole("combobox").first();
 | |
|     await expect(languageCombobox).toHaveValue("en");
 | |
| 
 | |
|     // Select Chinese and ensure the translation is set.
 | |
|     await languageCombobox.selectOption("cn");
 | |
|     await expect(app.currentNoteSplit).toContainText("主题", { timeout: 15000 });
 | |
| 
 | |
|     // Select English again.
 | |
|     await languageCombobox.selectOption("en");
 | |
|     await expect(app.currentNoteSplit).toContainText("Language", { timeout: 15000 });
 | |
| });
 | 
