123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import { test, expect } from '@playwright/test';
- import QuranReaderStyles from '@/redux/types/QuranReaderStyles';
- import Homepage from '@/tests/POM/home-page';
- import { MushafLines, QuranFont } from '@/types/QuranReader';
- test.beforeEach(async ({ page }) => {
- await page.goto('/');
- });
- test('Selecting a non-default theme should persist the selected font', async ({
- page,
- context,
- }) => {
- const homepage = new Homepage(page, context);
-
- await page.waitForTimeout(1000);
-
- let persistedQuranReaderStyles = (await homepage.getPersistedValue(
- 'quranReaderStyles',
- )) as QuranReaderStyles;
- expect(persistedQuranReaderStyles.quranFont).toBe(QuranFont.MadaniV1);
- expect(persistedQuranReaderStyles.mushafLines).toBe(MushafLines.SixteenLines);
-
- await homepage.openSettingsDrawer();
-
- await page.locator('text=IndoPak').click();
-
- await page.locator('select[name="lines"]').selectOption(MushafLines.FifteenLines);
-
- persistedQuranReaderStyles = (await homepage.getPersistedValue(
- 'quranReaderStyles',
- )) as QuranReaderStyles;
- expect(persistedQuranReaderStyles.quranFont).toBe(QuranFont.IndoPak);
- expect(persistedQuranReaderStyles.mushafLines).toBe(MushafLines.FifteenLines);
-
- await page.reload();
-
- await homepage.openSettingsDrawer();
-
- expect(await page.locator('select[name="lines"]').inputValue()).toBe(MushafLines.FifteenLines);
- });
|