| 
									
										
										
										
											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
										 |  |  | }); |