| 
									
										
										
										
											2024-08-20 22:08:02 -04:00
										 |  |  | import { test, expect } from '@playwright/test' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { setupElectron, tearDown } from './test-utils' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | test.afterEach(async ({ page }, testInfo) => { | 
					
						
							|  |  |  |   await tearDown(page, testInfo) | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-23 16:20:22 -04:00
										 |  |  | test.describe('Electron app header tests', () => { | 
					
						
							|  |  |  |   test( | 
					
						
							|  |  |  |     'Open Command Palette button has correct shortcut', | 
					
						
							|  |  |  |     { tag: '@electron' }, | 
					
						
							|  |  |  |     async ({ browserName }, testInfo) => { | 
					
						
							|  |  |  |       const { electronApp, page } = await setupElectron({ | 
					
						
							|  |  |  |         testInfo, | 
					
						
							|  |  |  |         folderSetupFn: async () => {}, | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       await page.setViewportSize({ width: 1200, height: 500 }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       // No space before the shortcut since it checks textContent.
 | 
					
						
							|  |  |  |       let text | 
					
						
							|  |  |  |       switch (process.platform) { | 
					
						
							|  |  |  |         case 'darwin': | 
					
						
							|  |  |  |           text = 'Commands⌘K' | 
					
						
							|  |  |  |           break | 
					
						
							|  |  |  |         case 'win32': | 
					
						
							|  |  |  |           text = 'CommandsCtrl+K' | 
					
						
							|  |  |  |           break | 
					
						
							|  |  |  |         default: // 'linux' etc.
 | 
					
						
							|  |  |  |           text = 'CommandsCtrl+K' | 
					
						
							|  |  |  |           break | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       const commandsButton = page.getByRole('button', { name: 'Commands' }) | 
					
						
							|  |  |  |       await expect(commandsButton).toBeVisible() | 
					
						
							|  |  |  |       await expect(commandsButton).toHaveText(text) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       await electronApp.close() | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-20 22:08:02 -04:00
										 |  |  |   test( | 
					
						
							|  |  |  |     'User settings has correct shortcut', | 
					
						
							|  |  |  |     { tag: '@electron' }, | 
					
						
							|  |  |  |     async ({ browserName }, testInfo) => { | 
					
						
							|  |  |  |       const { electronApp, page } = await setupElectron({ | 
					
						
							|  |  |  |         testInfo, | 
					
						
							|  |  |  |         folderSetupFn: async () => {}, | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       await page.setViewportSize({ width: 1200, height: 500 }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       // Open the user sidebar menu.
 | 
					
						
							|  |  |  |       await page.getByTestId('user-sidebar-toggle').click() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       // No space after "User settings" since it's textContent.
 | 
					
						
							|  |  |  |       const text = | 
					
						
							|  |  |  |         process.platform === 'darwin' ? 'User settings⌘,' : 'User settingsCtrl,' | 
					
						
							|  |  |  |       const userSettingsButton = page.getByTestId('user-settings') | 
					
						
							|  |  |  |       await expect(userSettingsButton).toBeVisible() | 
					
						
							|  |  |  |       await expect(userSettingsButton).toHaveText(text) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       await electronApp.close() | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   ) | 
					
						
							|  |  |  | }) |