import { closeElectronApp, expect, getStableWindow, test } from './fixtures/electron'; test.describe('Russian language localization', () => { test('shows Russian language option in setup wizard', async ({ launchElectronApp }) => { const app = await launchElectronApp(); try { const page = await getStableWindow(app); // Should see the setup wizard await expect(page.getByTestId('setup-page')).toBeVisible(); // Should have Russian language button visible const russianButton = page.locator('button', { hasText: 'Русский' }); await expect(russianButton).toBeVisible(); } finally { await closeElectronApp(app); } }); test('can switch to Russian language in setup wizard', async ({ launchElectronApp }) => { const app = await launchElectronApp(); try { const page = await getStableWindow(app); await expect(page.getByTestId('setup-page')).toBeVisible(); // Click Russian language button const russianButton = page.locator('button', { hasText: 'Русский' }); await russianButton.click(); // Verify UI renders in Russian by checking for Russian-only text // "Добро пожаловать" is unique to Russian and won't appear in English await expect(page.locator('h2')).toContainText('Добро пожаловать'); } finally { await closeElectronApp(app); } }); test('Russian language persists after skipping setup', async ({ launchElectronApp }) => { const app = await launchElectronApp(); try { const page = await getStableWindow(app); await expect(page.getByTestId('setup-page')).toBeVisible(); // Switch to Russian const russianButton = page.locator('button', { hasText: 'Русский' }); await russianButton.click(); // Skip setup await page.getByTestId('setup-skip-button').click(); await expect(page.getByTestId('main-layout')).toBeVisible(); // Navigate to Settings to verify language persistence await page.getByTestId('sidebar-nav-settings').click(); await expect(page.getByTestId('settings-page')).toBeVisible(); // Verify sidebar shows Russian text (not English) // "Настройки" is Russian-only, English is "Settings" await expect(page.getByTestId('sidebar-nav-settings')).toContainText('Настройки'); } finally { await closeElectronApp(app); } }); test('can switch to Russian in Settings page', async ({ launchElectronApp }) => { const app = await launchElectronApp({ skipSetup: true }); try { const page = await getStableWindow(app); await expect(page.getByTestId('main-layout')).toBeVisible(); // Navigate to Settings (in English by default after skipSetup) await page.getByTestId('sidebar-nav-settings').click(); await expect(page.getByTestId('settings-page')).toBeVisible(); // Click Russian language button const russianButton = page.locator('button', { hasText: 'Русский' }); await russianButton.click(); // Verify sidebar switched to Russian // "Настройки" is Russian-only, English is "Settings" await expect(page.getByTestId('sidebar-nav-settings')).toContainText('Настройки'); } finally { await closeElectronApp(app); } }); });