first test
Playwright Tests / test (push) Successful in 5m57s

This commit is contained in:
2026-05-02 22:34:21 +02:00
parent 47114f85f2
commit e67a4a1edf
801 changed files with 228099 additions and 15 deletions
@@ -0,0 +1,261 @@
# Instructions
- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.
# Test info
- Name: homePage.test.ts >> EndeavourOS HomePage - POM >> Theme >> startuje přímo ve světlém režimu
- Location: tests/homePage.test.ts:111:9
# Error details
```
Error: expect(locator).toHaveAttribute(expected) failed
Locator: locator('html')
Expected: "light"
Received: "dark"
Timeout: 5000ms
Call log:
- Expect "toHaveAttribute" with timeout 5000ms
- waiting for locator('html')
9 × locator resolved to <html lang="cs" data-theme="dark">…</html>
- unexpected value "dark"
```
# Page snapshot
```yaml
- generic [active] [ref=e1]:
- banner [ref=e2]:
- generic [ref=e3]:
- link "EndeavourOS Logo CZ" [ref=e4] [cursor=pointer]:
- /url: /index.php
- img "EndeavourOS Logo" [ref=e5]
- generic [ref=e6]: CZ
- navigation [ref=e7]:
- list [ref=e8]:
- listitem [ref=e9]:
- link "Domů" [ref=e10] [cursor=pointer]:
- /url: /index.php
- listitem [ref=e11]:
- link "EndeavourOS" [ref=e12] [cursor=pointer]:
- /url: /endeavouros.php
- listitem [ref=e13]:
- link "Články" [ref=e14] [cursor=pointer]:
- /url: /rozcestnik.php
- listitem [ref=e15]:
- link "Krátké návody" [ref=e16] [cursor=pointer]:
- /url: /cheatsheet.php
- listitem [ref=e17]:
- link "Fórum" [ref=e18] [cursor=pointer]:
- /url: https://forum.arch-linux.cz/
- listitem [ref=e19]:
- link "O nás" [ref=e20] [cursor=pointer]:
- /url: /o-nas.php
- generic [ref=e21]:
- textbox "Hledat v článcích..." [ref=e23]
- button "Sdílet stránku" [ref=e24] [cursor=pointer]:
- generic [ref=e25]:
- text: Sdílet
- button "Přepnout téma" [ref=e26] [cursor=pointer]:
- generic [ref=e27]:
- main [ref=e28]:
- generic [ref=e29]:
- heading "🇨🇿 Vítám Tě na webu České komunity EndeavourOS! 🇨🇿" [level=1] [ref=e30]
- paragraph [ref=e31]: Lehká, rychlá a moderní distribuce založená na Arch Linuxu.
- heading "Je navržena tak, aby poskytovala uživatelům přístup k nejnovějším technologiím a softwaru, přičemž zachovává jednoduchost a stabilitu. Distribuce nabízí několik předinstalovaných prostředí." [level=4] [ref=e32]
- heading "👇 Začínáme 👇" [level=2] [ref=e33]
- generic [ref=e34]:
- 'link "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon... 2026-04-28" [ref=e35] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME"
- 'heading "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME" [level=3] [ref=e36]'
- paragraph [ref=e37]: Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon...
- generic [ref=e38]: 2026-04-28
- link "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows... 2026-04-28" [ref=e39] [cursor=pointer]:
- /url: /article.php?slug=⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky
- heading "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky" [level=3] [ref=e40]
- paragraph [ref=e41]: Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows...
- generic [ref=e42]: 2026-04-28
- 'link "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č... 2026-04-28" [ref=e43] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME"
- 'heading "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME" [level=3] [ref=e44]'
- paragraph [ref=e45]: Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č...
- generic [ref=e46]: 2026-04-28
- 'link "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta... 2026-04-28" [ref=e47] [cursor=pointer]':
- /url: "/article.php?slug=🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované"
- 'heading "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované" [level=3] [ref=e48]'
- paragraph [ref=e49]: Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta...
- generic [ref=e50]: 2026-04-28
- link "💽 Jak připojit nový SSD disk v EndeavourOS Určíme přidaný disk (dle názvu či velikosti), v mém případě ... 2026-04-28" [ref=e51] [cursor=pointer]:
- /url: /article.php?slug=💽 Jak připojit nový SSD disk v EndeavourOS
- heading "💽 Jak připojit nový SSD disk v EndeavourOS" [level=3] [ref=e52]
- paragraph [ref=e53]: Určíme přidaný disk (dle názvu či velikosti), v mém případě ...
- generic [ref=e54]: 2026-04-28
- link "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac Jak lehce instalovat aplikace pomocí grafického správce Pamac... 2026-04-28" [ref=e55] [cursor=pointer]:
- /url: /article.php?slug=Jak lehce instalovat aplikace pomocí grafického správce Pamac
- heading "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac" [level=3] [ref=e56]
- paragraph [ref=e57]: Jak lehce instalovat aplikace pomocí grafického správce Pamac...
- generic [ref=e58]: 2026-04-28
- link "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků... 2026-04-28" [ref=e59] [cursor=pointer]:
- /url: /article.php?slug=AUR packages a jak nainstalovat aplikaci pomocí YAY
- heading "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY" [level=3] [ref=e60]
- paragraph [ref=e61]: EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků...
- generic [ref=e62]: 2026-04-28
- link "🚨 Jak zapnout upozornění na nové aktualizace Jak zapnout upozornění na nové aktualizace... 2026-04-28" [ref=e63] [cursor=pointer]:
- /url: /article.php?slug=Jak zapnout upozornění na nové aktualizace
- heading "🚨 Jak zapnout upozornění na nové aktualizace" [level=3] [ref=e64]
- paragraph [ref=e65]: Jak zapnout upozornění na nové aktualizace...
- generic [ref=e66]: 2026-04-28
- link "🐧 Linux pacman příkazy Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc... 2026-04-28" [ref=e67] [cursor=pointer]:
- /url: /article.php?slug=🐧 Linux pacman příkazy
- heading "🐧 Linux pacman příkazy" [level=3] [ref=e68]
- paragraph [ref=e69]: Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc...
- generic [ref=e70]: 2026-04-28
- contentinfo [ref=e71]:
- generic [ref=e72]:
- paragraph [ref=e73]: © 2026 EndeavourOS CZ Komunita. Vytvořeno s láskou k Linuxu ❤️.
- paragraph [ref=e74]:
- link "Zásady ochrany osobních údajů" [ref=e75] [cursor=pointer]:
- /url: /privacy-policy.php
```
# Test source
```ts
22 | });
23 |
24 | test('check all hello text visibility', async ({ page }) => {
25 | await homePage.checkHalloText(expectedHalloText);
26 | const locator = page.locator('.hero');
27 |
28 | await expect(locator).toHaveText(expectedHeroToHaveText);
29 | await expect(homePage.halloDescription2).toHaveText(expectedHalloToHaveText2);
30 |
31 |
32 | });
33 | });
34 |
35 | test.describe('navigate', () => {
36 |
37 | test('search for a term', async ({page}) => {
38 | await homePage.searchInput.fill('EndeavourOS');
39 | // nejdříve je nutno opravit vyhledávaní na webu
40 | // await page.getByText('Linux pacman příkazy').click();
41 |
42 | });
43 |
44 | test('check all menu items visibility', async () => {
45 | await homePage.checkMenuTexts(expectedMenuTexts);
46 | });
47 |
48 | test('navigation to EndeavourOS', async ({ page }) => {
49 | await homePage.clickMenuItem('EndeavourOS');
50 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/endeavouros`));
51 | });
52 |
53 | test('navigation to Články', async ({ page }) => {
54 | await homePage.clickMenuItem('Články');
55 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/rozcestnik`));
56 | });
57 |
58 | test('navigation to Krátké návody', async ({ page }) => {
59 | await homePage.clickMenuItem('Krátké návody');
60 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/cheatsheet`));
61 | });
62 |
63 | // Seznam externích odkazů, které chceme prověřit
64 | // Nyní nejde nutno doopravit
65 | // test('externí odkazy v menu jsou platné', async ({ page, request }) => {
66 | // const homePage = new HomePage(page);
67 | // await homePage.navigate();
68 |
69 | // Seznam externích odkazů, které chceme prověřit
70 | // test('kontrola externích odkazů na zdraví (status 200)', async ({ page, request }) => {
71 | // const homePage = new HomePage(page);
72 | // await homePage.navigate();
73 |
74 | // for (const link of externalLinks) {
75 | // // Ověříme, že text tlačítka je na stránce vidět
76 | // const href = await homePage.getMenuItemHref(link.name);
77 |
78 | // // Ověříme, že href v HTML odpovídá tomu, co máme v datech
79 | // expect(href).toBe(link.url);
80 |
81 | // // Provedeme rychlou kontrolu, zda link není "mrtvý"
82 | // const response = await request.get(link.url);
83 | // expect(response.ok(), `Odkaz ${link.name} na adrese ${link.url} vrací chybu!`).toBeTruthy();
84 |
85 | // console.log(`Log: Odkaz "${link.name}" je v pořádku.`);
86 | // }
87 | // });
88 |
89 | //funkční řešení - otevře web
90 | test('externí Fórum -> odkaz má správnou adresu', async () => {
91 | const href = await homePage.getMenuItemLinkHref('Fórum'); // Příklad
92 | expect(href).toBe('https://forum.arch-linux.cz/');
93 | });
94 |
95 | test('navigation to O nás', async ({ page }) => {
96 | await homePage.clickMenuItem('O nás');
97 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/o-nas`));
98 | });
99 | });
100 |
101 | test.describe('Theme', () => {
102 | let homePage: HomePage;
103 |
104 | test.beforeEach(async ({ page }) => {
105 | homePage = new HomePage(page);
106 | await homePage.navigate();
107 | });
108 | test('switch theme sun', async ({ page }) => {
109 | await homePage.switchThemeFunction()
110 | })
111 | test('startuje přímo ve světlém režimu', async ({ page }) => {
112 | // Tento skript se spustí dříve, než se načte CSS a JS tvého webu
113 | await page.addInitScript(() => {
114 | document.documentElement.setAttribute('data-theme', 'light');
115 | // Pokud ukládáš nastavení do localStorage, můžeš ho "přednastavit" i tam
116 | window.localStorage.setItem('theme', 'light');
117 | });
118 |
119 | await page.goto('https://endeavouros.cz');
120 |
121 | // Nyní už rovnou ověřuješ, že je vše světlé
> 122 | await expect(page.locator('html')).toHaveAttribute('data-theme', 'light');
| ^ Error: expect(locator).toHaveAttribute(expected) failed
123 | const themeButton = page.locator('#data-theme');
124 | await themeButton.click();
125 | await expect(page.locator('html')).toHaveAttribute('data-theme', 'dark');
126 | });
127 | })
128 |
129 | test.describe('Carts (Karty) na HomePage', () => {
130 | let homePage: HomePage;
131 |
132 | test.beforeEach(async ({ page }) => {
133 | homePage = new HomePage(page);
134 | await homePage.navigate();
135 | });
136 |
137 | // Otestuje textace na kartách
138 | test('should display all cards correctly', async () => {
139 | for (const card of homePageCards) {
140 | // Používáme naši POM metodu pro každou kartu
141 | await homePage.verifyCardContent(card.title, card.description);
142 | }
143 | });
144 |
145 | // test('should navigate after clicking on a specific card', async ({ page }) => {
146 | // // Příklad pro jednu konkrétní kartu
147 | // await homePage.clickCardButton('Lehkost a rychlost');
148 | // // Zde by následoval expect na novou URL
149 | // });
150 | });
151 | });
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,138 @@
# Instructions
- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.
# Test info
- Name: homePage.test.ts >> dark >> přepnutí z light do dark
- Location: tests/homePage.test.ts:165:7
# Error details
```
Test timeout of 30000ms exceeded.
```
```
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.data-theme')
```
# Test source
```ts
73 |
74 | // for (const link of externalLinks) {
75 | // // Ověříme, že text tlačítka je na stránce vidět
76 | // const href = await homePage.getMenuItemHref(link.name);
77 |
78 | // // Ověříme, že href v HTML odpovídá tomu, co máme v datech
79 | // expect(href).toBe(link.url);
80 |
81 | // // Provedeme rychlou kontrolu, zda link není "mrtvý"
82 | // const response = await request.get(link.url);
83 | // expect(response.ok(), `Odkaz ${link.name} na adrese ${link.url} vrací chybu!`).toBeTruthy();
84 |
85 | // console.log(`Log: Odkaz "${link.name}" je v pořádku.`);
86 | // }
87 | // });
88 |
89 | //funkční řešení - otevře web
90 | test('externí Fórum -> odkaz má správnou adresu', async () => {
91 | const href = await homePage.getMenuItemLinkHref('Fórum'); // Příklad
92 | expect(href).toBe('https://forum.arch-linux.cz/');
93 | });
94 |
95 | test('navigation to O nás', async ({ page }) => {
96 | await homePage.clickMenuItem('O nás');
97 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/o-nas`));
98 | });
99 | });
100 |
101 | test.describe('Theme', () => {
102 | let homePage: HomePage;
103 |
104 | test.beforeEach(async ({ page }) => {
105 | homePage = new HomePage(page);
106 | await homePage.navigate();
107 | });
108 | test('switch theme sun', async ({ page }) => {
109 | await homePage.switchThemeFunction()
110 | })
111 |
112 | })
113 |
114 | test.describe('Carts (Karty) na HomePage', () => {
115 | let homePage: HomePage;
116 |
117 | test.beforeEach(async ({ page }) => {
118 | homePage = new HomePage(page);
119 | await homePage.navigate();
120 | });
121 |
122 | // Otestuje textace na kartách
123 | test('should display all cards correctly', async () => {
124 | for (const card of homePageCards) {
125 | // Používáme naši POM metodu pro každou kartu
126 | await homePage.verifyCardContent(card.title, card.description);
127 | }
128 | });
129 |
130 | // test('should navigate after clicking on a specific card', async ({ page }) => {
131 | // // Příklad pro jednu konkrétní kartu
132 | // await homePage.clickCardButton('Lehkost a rychlost');
133 | // // Zde by následoval expect na novou URL
134 | // });
135 | });
136 | });
137 | test.describe('dark', () => {
138 | test('přepnutí ze světlého startu do tmavého režimu', async ({ page }) => {
139 | // 1. FÁZE: Vynucení světlého režimu před startem
140 | // EndeavourOS.cz je defaultně tmavý, takže mu musíme zakázat třídu 'dark'
141 | await page.addInitScript(() => {
142 | document.documentElement.classList.remove('dark');
143 | window.localStorage.setItem('theme', 'light');
144 | });
145 |
146 | // 2. FÁZE: Načtení stránky
147 | await page.goto('https://endeavouros.cz');
148 |
149 | // Kontrola, že jsme skutečně začali ve světlém (třída 'dark' chybí)
150 | await expect(page.locator('html')).not.toHaveClass(/dark/);
151 |
152 | // 3. FÁZE: Akce - kliknutí na přepínač
153 | // Na webu EndeavourOS.cz je to obvykle tlačítko v menu nebo záhlaví
154 | // Tip: Použijeme ARIA label nebo ikonu, pokud známe selektor
155 | const themeSwitcher = page.locator('button.theme-switcher, .mode-switcher');
156 | await themeSwitcher.click();
157 |
158 | // 4. FÁZE: Ověření výsledku
159 | // Nyní by se měla třída 'dark' vrátit na své místo
160 | await expect(page.locator('html')).toHaveClass(/dark/);
161 |
162 | // A můžeme ověřit, že se změnila barva pozadí na tmavou
163 | await expect(page.locator('body')).toHaveCSS('background-color', 'rgb(25, 20, 36)');
164 | });
165 | test('přepnutí z light do dark', async ({ page }) => {
166 | // Počkáme, až se web načte a ujistíme se, že je fakt světlý
167 | const html = page.locator('html');
168 | await html.evaluate(el => el.classList.remove('dark'));
169 |
170 | await expect(html).not.toHaveClass(/dark/);
171 |
172 | // Teď klikni na přepínač
> 173 | await page.locator('.data-theme').click(); // Zde doplň svůj reálný selektor
| ^ Error: locator.click: Test timeout of 30000ms exceeded.
174 |
175 | // A teď už musí být dark
176 | await expect(html).toHaveClass(/dark/);
177 | });
178 | });
179 |
180 |
181 |
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,252 @@
# Instructions
- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.
# Test info
- Name: homePage.test.ts >> dark >> přepnutí ze světlého startu do tmavého režimu
- Location: tests/homePage.test.ts:138:7
# Error details
```
Test timeout of 30000ms exceeded.
```
```
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('button.theme-switcher, .mode-switcher')
```
# Page snapshot
```yaml
- generic [active] [ref=e1]:
- banner [ref=e2]:
- generic [ref=e3]:
- link "EndeavourOS Logo CZ" [ref=e4] [cursor=pointer]:
- /url: /index.php
- img "EndeavourOS Logo" [ref=e5]
- generic [ref=e6]: CZ
- navigation [ref=e7]:
- list [ref=e8]:
- listitem [ref=e9]:
- link "Domů" [ref=e10] [cursor=pointer]:
- /url: /index.php
- listitem [ref=e11]:
- link "EndeavourOS" [ref=e12] [cursor=pointer]:
- /url: /endeavouros.php
- listitem [ref=e13]:
- link "Články" [ref=e14] [cursor=pointer]:
- /url: /rozcestnik.php
- listitem [ref=e15]:
- link "Krátké návody" [ref=e16] [cursor=pointer]:
- /url: /cheatsheet.php
- listitem [ref=e17]:
- link "Fórum" [ref=e18] [cursor=pointer]:
- /url: https://forum.arch-linux.cz/
- listitem [ref=e19]:
- link "O nás" [ref=e20] [cursor=pointer]:
- /url: /o-nas.php
- generic [ref=e21]:
- textbox "Hledat v článcích..." [ref=e23]
- button "Sdílet stránku" [ref=e24] [cursor=pointer]:
- generic [ref=e25]:
- text: Sdílet
- button "Přepnout téma" [ref=e26] [cursor=pointer]:
- generic [ref=e27]:
- main [ref=e28]:
- generic [ref=e29]:
- heading "🇨🇿 Vítám Tě na webu České komunity EndeavourOS! 🇨🇿" [level=1] [ref=e30]
- paragraph [ref=e31]: Lehká, rychlá a moderní distribuce založená na Arch Linuxu.
- heading "Je navržena tak, aby poskytovala uživatelům přístup k nejnovějším technologiím a softwaru, přičemž zachovává jednoduchost a stabilitu. Distribuce nabízí několik předinstalovaných prostředí." [level=4] [ref=e32]
- heading "👇 Začínáme 👇" [level=2] [ref=e33]
- generic [ref=e34]:
- 'link "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon... 2026-04-28" [ref=e35] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME"
- 'heading "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME" [level=3] [ref=e36]'
- paragraph [ref=e37]: Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon...
- generic [ref=e38]: 2026-04-28
- link "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows... 2026-04-28" [ref=e39] [cursor=pointer]:
- /url: /article.php?slug=⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky
- heading "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky" [level=3] [ref=e40]
- paragraph [ref=e41]: Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows...
- generic [ref=e42]: 2026-04-28
- 'link "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č... 2026-04-28" [ref=e43] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME"
- 'heading "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME" [level=3] [ref=e44]'
- paragraph [ref=e45]: Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č...
- generic [ref=e46]: 2026-04-28
- 'link "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta... 2026-04-28" [ref=e47] [cursor=pointer]':
- /url: "/article.php?slug=🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované"
- 'heading "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované" [level=3] [ref=e48]'
- paragraph [ref=e49]: Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta...
- generic [ref=e50]: 2026-04-28
- link "💽 Jak připojit nový SSD disk v EndeavourOS Určíme přidaný disk (dle názvu či velikosti), v mém případě ... 2026-04-28" [ref=e51] [cursor=pointer]:
- /url: /article.php?slug=💽 Jak připojit nový SSD disk v EndeavourOS
- heading "💽 Jak připojit nový SSD disk v EndeavourOS" [level=3] [ref=e52]
- paragraph [ref=e53]: Určíme přidaný disk (dle názvu či velikosti), v mém případě ...
- generic [ref=e54]: 2026-04-28
- link "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac Jak lehce instalovat aplikace pomocí grafického správce Pamac... 2026-04-28" [ref=e55] [cursor=pointer]:
- /url: /article.php?slug=Jak lehce instalovat aplikace pomocí grafického správce Pamac
- heading "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac" [level=3] [ref=e56]
- paragraph [ref=e57]: Jak lehce instalovat aplikace pomocí grafického správce Pamac...
- generic [ref=e58]: 2026-04-28
- link "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků... 2026-04-28" [ref=e59] [cursor=pointer]:
- /url: /article.php?slug=AUR packages a jak nainstalovat aplikaci pomocí YAY
- heading "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY" [level=3] [ref=e60]
- paragraph [ref=e61]: EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků...
- generic [ref=e62]: 2026-04-28
- link "🚨 Jak zapnout upozornění na nové aktualizace Jak zapnout upozornění na nové aktualizace... 2026-04-28" [ref=e63] [cursor=pointer]:
- /url: /article.php?slug=Jak zapnout upozornění na nové aktualizace
- heading "🚨 Jak zapnout upozornění na nové aktualizace" [level=3] [ref=e64]
- paragraph [ref=e65]: Jak zapnout upozornění na nové aktualizace...
- generic [ref=e66]: 2026-04-28
- link "🐧 Linux pacman příkazy Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc... 2026-04-28" [ref=e67] [cursor=pointer]:
- /url: /article.php?slug=🐧 Linux pacman příkazy
- heading "🐧 Linux pacman příkazy" [level=3] [ref=e68]
- paragraph [ref=e69]: Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc...
- generic [ref=e70]: 2026-04-28
- contentinfo [ref=e71]:
- generic [ref=e72]:
- paragraph [ref=e73]: © 2026 EndeavourOS CZ Komunita. Vytvořeno s láskou k Linuxu ❤️.
- paragraph [ref=e74]:
- link "Zásady ochrany osobních údajů" [ref=e75] [cursor=pointer]:
- /url: /privacy-policy.php
```
# Test source
```ts
56 | });
57 |
58 | test('navigation to Krátké návody', async ({ page }) => {
59 | await homePage.clickMenuItem('Krátké návody');
60 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/cheatsheet`));
61 | });
62 |
63 | // Seznam externích odkazů, které chceme prověřit
64 | // Nyní nejde nutno doopravit
65 | // test('externí odkazy v menu jsou platné', async ({ page, request }) => {
66 | // const homePage = new HomePage(page);
67 | // await homePage.navigate();
68 |
69 | // Seznam externích odkazů, které chceme prověřit
70 | // test('kontrola externích odkazů na zdraví (status 200)', async ({ page, request }) => {
71 | // const homePage = new HomePage(page);
72 | // await homePage.navigate();
73 |
74 | // for (const link of externalLinks) {
75 | // // Ověříme, že text tlačítka je na stránce vidět
76 | // const href = await homePage.getMenuItemHref(link.name);
77 |
78 | // // Ověříme, že href v HTML odpovídá tomu, co máme v datech
79 | // expect(href).toBe(link.url);
80 |
81 | // // Provedeme rychlou kontrolu, zda link není "mrtvý"
82 | // const response = await request.get(link.url);
83 | // expect(response.ok(), `Odkaz ${link.name} na adrese ${link.url} vrací chybu!`).toBeTruthy();
84 |
85 | // console.log(`Log: Odkaz "${link.name}" je v pořádku.`);
86 | // }
87 | // });
88 |
89 | //funkční řešení - otevře web
90 | test('externí Fórum -> odkaz má správnou adresu', async () => {
91 | const href = await homePage.getMenuItemLinkHref('Fórum'); // Příklad
92 | expect(href).toBe('https://forum.arch-linux.cz/');
93 | });
94 |
95 | test('navigation to O nás', async ({ page }) => {
96 | await homePage.clickMenuItem('O nás');
97 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/o-nas`));
98 | });
99 | });
100 |
101 | test.describe('Theme', () => {
102 | let homePage: HomePage;
103 |
104 | test.beforeEach(async ({ page }) => {
105 | homePage = new HomePage(page);
106 | await homePage.navigate();
107 | });
108 | test('switch theme sun', async ({ page }) => {
109 | await homePage.switchThemeFunction()
110 | })
111 |
112 | })
113 |
114 | test.describe('Carts (Karty) na HomePage', () => {
115 | let homePage: HomePage;
116 |
117 | test.beforeEach(async ({ page }) => {
118 | homePage = new HomePage(page);
119 | await homePage.navigate();
120 | });
121 |
122 | // Otestuje textace na kartách
123 | test('should display all cards correctly', async () => {
124 | for (const card of homePageCards) {
125 | // Používáme naši POM metodu pro každou kartu
126 | await homePage.verifyCardContent(card.title, card.description);
127 | }
128 | });
129 |
130 | // test('should navigate after clicking on a specific card', async ({ page }) => {
131 | // // Příklad pro jednu konkrétní kartu
132 | // await homePage.clickCardButton('Lehkost a rychlost');
133 | // // Zde by následoval expect na novou URL
134 | // });
135 | });
136 | });
137 | test.describe('dark', () => {
138 | test('přepnutí ze světlého startu do tmavého režimu', async ({ page }) => {
139 | // 1. FÁZE: Vynucení světlého režimu před startem
140 | // EndeavourOS.cz je defaultně tmavý, takže mu musíme zakázat třídu 'dark'
141 | await page.addInitScript(() => {
142 | document.documentElement.classList.remove('dark');
143 | window.localStorage.setItem('theme', 'light');
144 | });
145 |
146 | // 2. FÁZE: Načtení stránky
147 | await page.goto('https://endeavouros.cz');
148 |
149 | // Kontrola, že jsme skutečně začali ve světlém (třída 'dark' chybí)
150 | await expect(page.locator('html')).not.toHaveClass(/dark/);
151 |
152 | // 3. FÁZE: Akce - kliknutí na přepínač
153 | // Na webu EndeavourOS.cz je to obvykle tlačítko v menu nebo záhlaví
154 | // Tip: Použijeme ARIA label nebo ikonu, pokud známe selektor
155 | const themeSwitcher = page.locator('button.theme-switcher, .mode-switcher');
> 156 | await themeSwitcher.click();
| ^ Error: locator.click: Test timeout of 30000ms exceeded.
157 |
158 | // 4. FÁZE: Ověření výsledku
159 | // Nyní by se měla třída 'dark' vrátit na své místo
160 | await expect(page.locator('html')).toHaveClass(/dark/);
161 |
162 | // A můžeme ověřit, že se změnila barva pozadí na tmavou
163 | await expect(page.locator('body')).toHaveCSS('background-color', 'rgb(25, 20, 36)');
164 | });
165 | test('přepnutí z light do dark', async ({ page }) => {
166 | // Počkáme, až se web načte a ujistíme se, že je fakt světlý
167 | const html = page.locator('html');
168 | await html.evaluate(el => el.classList.remove('dark'));
169 |
170 | await expect(html).not.toHaveClass(/dark/);
171 |
172 | // Teď klikni na přepínač
173 | await page.locator('.tlačítko-přepínače').click(); // Zde doplň svůj reálný selektor
174 |
175 | // A teď už musí být dark
176 | await expect(html).toHaveClass(/dark/);
177 | });
178 | });
179 |
180 |
181 |
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,239 @@
# Instructions
- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.
# Test info
- Name: homePage.test.ts >> dark >> startuje přímo ve světlém režimu
- Location: tests/homePage.test.ts:152:7
# Error details
```
Error: expect(locator).toHaveAttribute(expected) failed
Locator: locator('html')
Expected: "light"
Received: "dark"
Timeout: 5000ms
Call log:
- Expect "toHaveAttribute" with timeout 5000ms
- waiting for locator('html')
9 × locator resolved to <html lang="cs" data-theme="dark">…</html>
- unexpected value "dark"
```
# Page snapshot
```yaml
- generic [active] [ref=e1]:
- banner [ref=e2]:
- generic [ref=e3]:
- link "EndeavourOS Logo CZ" [ref=e4] [cursor=pointer]:
- /url: /index.php
- img "EndeavourOS Logo" [ref=e5]
- generic [ref=e6]: CZ
- navigation [ref=e7]:
- list [ref=e8]:
- listitem [ref=e9]:
- link "Domů" [ref=e10] [cursor=pointer]:
- /url: /index.php
- listitem [ref=e11]:
- link "EndeavourOS" [ref=e12] [cursor=pointer]:
- /url: /endeavouros.php
- listitem [ref=e13]:
- link "Články" [ref=e14] [cursor=pointer]:
- /url: /rozcestnik.php
- listitem [ref=e15]:
- link "Krátké návody" [ref=e16] [cursor=pointer]:
- /url: /cheatsheet.php
- listitem [ref=e17]:
- link "Fórum" [ref=e18] [cursor=pointer]:
- /url: https://forum.arch-linux.cz/
- listitem [ref=e19]:
- link "O nás" [ref=e20] [cursor=pointer]:
- /url: /o-nas.php
- generic [ref=e21]:
- textbox "Hledat v článcích..." [ref=e23]
- button "Sdílet stránku" [ref=e24] [cursor=pointer]:
- generic [ref=e25]:
- text: Sdílet
- button "Přepnout téma" [ref=e26] [cursor=pointer]:
- generic [ref=e27]:
- main [ref=e28]:
- generic [ref=e29]:
- heading "🇨🇿 Vítám Tě na webu České komunity EndeavourOS! 🇨🇿" [level=1] [ref=e30]
- paragraph [ref=e31]: Lehká, rychlá a moderní distribuce založená na Arch Linuxu.
- heading "Je navržena tak, aby poskytovala uživatelům přístup k nejnovějším technologiím a softwaru, přičemž zachovává jednoduchost a stabilitu. Distribuce nabízí několik předinstalovaných prostředí." [level=4] [ref=e32]
- heading "👇 Začínáme 👇" [level=2] [ref=e33]
- generic [ref=e34]:
- 'link "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon... 2026-04-28" [ref=e35] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME"
- 'heading "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME" [level=3] [ref=e36]'
- paragraph [ref=e37]: Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon...
- generic [ref=e38]: 2026-04-28
- link "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows... 2026-04-28" [ref=e39] [cursor=pointer]:
- /url: /article.php?slug=⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky
- heading "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky" [level=3] [ref=e40]
- paragraph [ref=e41]: Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows...
- generic [ref=e42]: 2026-04-28
- 'link "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č... 2026-04-28" [ref=e43] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME"
- 'heading "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME" [level=3] [ref=e44]'
- paragraph [ref=e45]: Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č...
- generic [ref=e46]: 2026-04-28
- 'link "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta... 2026-04-28" [ref=e47] [cursor=pointer]':
- /url: "/article.php?slug=🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované"
- 'heading "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované" [level=3] [ref=e48]'
- paragraph [ref=e49]: Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta...
- generic [ref=e50]: 2026-04-28
- link "💽 Jak připojit nový SSD disk v EndeavourOS Určíme přidaný disk (dle názvu či velikosti), v mém případě ... 2026-04-28" [ref=e51] [cursor=pointer]:
- /url: /article.php?slug=💽 Jak připojit nový SSD disk v EndeavourOS
- heading "💽 Jak připojit nový SSD disk v EndeavourOS" [level=3] [ref=e52]
- paragraph [ref=e53]: Určíme přidaný disk (dle názvu či velikosti), v mém případě ...
- generic [ref=e54]: 2026-04-28
- link "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac Jak lehce instalovat aplikace pomocí grafického správce Pamac... 2026-04-28" [ref=e55] [cursor=pointer]:
- /url: /article.php?slug=Jak lehce instalovat aplikace pomocí grafického správce Pamac
- heading "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac" [level=3] [ref=e56]
- paragraph [ref=e57]: Jak lehce instalovat aplikace pomocí grafického správce Pamac...
- generic [ref=e58]: 2026-04-28
- link "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků... 2026-04-28" [ref=e59] [cursor=pointer]:
- /url: /article.php?slug=AUR packages a jak nainstalovat aplikaci pomocí YAY
- heading "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY" [level=3] [ref=e60]
- paragraph [ref=e61]: EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků...
- generic [ref=e62]: 2026-04-28
- link "🚨 Jak zapnout upozornění na nové aktualizace Jak zapnout upozornění na nové aktualizace... 2026-04-28" [ref=e63] [cursor=pointer]:
- /url: /article.php?slug=Jak zapnout upozornění na nové aktualizace
- heading "🚨 Jak zapnout upozornění na nové aktualizace" [level=3] [ref=e64]
- paragraph [ref=e65]: Jak zapnout upozornění na nové aktualizace...
- generic [ref=e66]: 2026-04-28
- link "🐧 Linux pacman příkazy Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc... 2026-04-28" [ref=e67] [cursor=pointer]:
- /url: /article.php?slug=🐧 Linux pacman příkazy
- heading "🐧 Linux pacman příkazy" [level=3] [ref=e68]
- paragraph [ref=e69]: Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc...
- generic [ref=e70]: 2026-04-28
- contentinfo [ref=e71]:
- generic [ref=e72]:
- paragraph [ref=e73]: © 2026 EndeavourOS CZ Komunita. Vytvořeno s láskou k Linuxu ❤️.
- paragraph [ref=e74]:
- link "Zásady ochrany osobních údajů" [ref=e75] [cursor=pointer]:
- /url: /privacy-policy.php
```
# Test source
```ts
54 | await homePage.clickMenuItem('Články');
55 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/rozcestnik`));
56 | });
57 |
58 | test('navigation to Krátké návody', async ({ page }) => {
59 | await homePage.clickMenuItem('Krátké návody');
60 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/cheatsheet`));
61 | });
62 |
63 | // Seznam externích odkazů, které chceme prověřit
64 | // Nyní nejde nutno doopravit
65 | // test('externí odkazy v menu jsou platné', async ({ page, request }) => {
66 | // const homePage = new HomePage(page);
67 | // await homePage.navigate();
68 |
69 | // Seznam externích odkazů, které chceme prověřit
70 | // test('kontrola externích odkazů na zdraví (status 200)', async ({ page, request }) => {
71 | // const homePage = new HomePage(page);
72 | // await homePage.navigate();
73 |
74 | // for (const link of externalLinks) {
75 | // // Ověříme, že text tlačítka je na stránce vidět
76 | // const href = await homePage.getMenuItemHref(link.name);
77 |
78 | // // Ověříme, že href v HTML odpovídá tomu, co máme v datech
79 | // expect(href).toBe(link.url);
80 |
81 | // // Provedeme rychlou kontrolu, zda link není "mrtvý"
82 | // const response = await request.get(link.url);
83 | // expect(response.ok(), `Odkaz ${link.name} na adrese ${link.url} vrací chybu!`).toBeTruthy();
84 |
85 | // console.log(`Log: Odkaz "${link.name}" je v pořádku.`);
86 | // }
87 | // });
88 |
89 | //funkční řešení - otevře web
90 | test('externí Fórum -> odkaz má správnou adresu', async () => {
91 | const href = await homePage.getMenuItemLinkHref('Fórum'); // Příklad
92 | expect(href).toBe('https://forum.arch-linux.cz/');
93 | });
94 |
95 | test('navigation to O nás', async ({ page }) => {
96 | await homePage.clickMenuItem('O nás');
97 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/o-nas`));
98 | });
99 | });
100 |
101 | test.describe('Theme', () => {
102 | let homePage: HomePage;
103 |
104 | test.beforeEach(async ({ page }) => {
105 | homePage = new HomePage(page);
106 | await homePage.navigate();
107 | });
108 | test('switch theme sun', async ({ page }) => {
109 | await homePage.switchThemeFunction()
110 | })
111 |
112 | })
113 |
114 | test.describe('Carts (Karty) na HomePage', () => {
115 | let homePage: HomePage;
116 |
117 | test.beforeEach(async ({ page }) => {
118 | homePage = new HomePage(page);
119 | await homePage.navigate();
120 | });
121 |
122 | // Otestuje textace na kartách
123 | test('should display all cards correctly', async () => {
124 | for (const card of homePageCards) {
125 | // Používáme naši POM metodu pro každou kartu
126 | await homePage.verifyCardContent(card.title, card.description);
127 | }
128 | });
129 |
130 | // test('should navigate after clicking on a specific card', async ({ page }) => {
131 | // // Příklad pro jednu konkrétní kartu
132 | // await homePage.clickCardButton('Lehkost a rychlost');
133 | // // Zde by následoval expect na novou URL
134 | // });
135 | });
136 | });
137 | test.describe('dark', () => {
138 | test.beforeEach(async ({ page }) => {
139 | await page.emulateMedia({ colorScheme: 'light' });
140 | // 1. NEJDŘÍV připravíme prostředí (vstříkneme skript)
141 | await page.addInitScript(() => {
142 | // Nastavíme atribut, podle kterého web barví
143 | document.documentElement.setAttribute('data-theme', 'light');
144 | // A preventivně i localStorage, kdyby si to web kontroloval tam
145 | //window.localStorage.setItem('theme', 'light');
146 | });
147 |
148 | // 2. POTÉ teprve jdeme na web
149 | await page.goto('https://endeavouros.cz');
150 | });
151 |
152 | test('startuje přímo ve světlém režimu', async ({ page }) => {
153 | // Nyní už rovnou ověřuješ, že je vše světlé
> 154 | await expect(page.locator('html')).toHaveAttribute('data-theme', 'light');
| ^ Error: expect(locator).toHaveAttribute(expected) failed
155 | });
156 |
157 |
158 | });
159 |
160 |
161 |
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,238 @@
# Instructions
- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.
# Test info
- Name: homePage.test.ts >> přepnutí ze světlého startu do tmavého režimu
- Location: tests/homePage.test.ts:137:5
# Error details
```
Test timeout of 30000ms exceeded.
```
```
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('button.theme-switcher, .mode-switcher')
```
# Page snapshot
```yaml
- generic [active] [ref=e1]:
- banner [ref=e2]:
- generic [ref=e3]:
- link "EndeavourOS Logo CZ" [ref=e4] [cursor=pointer]:
- /url: /index.php
- img "EndeavourOS Logo" [ref=e5]
- generic [ref=e6]: CZ
- navigation [ref=e7]:
- list [ref=e8]:
- listitem [ref=e9]:
- link "Domů" [ref=e10] [cursor=pointer]:
- /url: /index.php
- listitem [ref=e11]:
- link "EndeavourOS" [ref=e12] [cursor=pointer]:
- /url: /endeavouros.php
- listitem [ref=e13]:
- link "Články" [ref=e14] [cursor=pointer]:
- /url: /rozcestnik.php
- listitem [ref=e15]:
- link "Krátké návody" [ref=e16] [cursor=pointer]:
- /url: /cheatsheet.php
- listitem [ref=e17]:
- link "Fórum" [ref=e18] [cursor=pointer]:
- /url: https://forum.arch-linux.cz/
- listitem [ref=e19]:
- link "O nás" [ref=e20] [cursor=pointer]:
- /url: /o-nas.php
- generic [ref=e21]:
- textbox "Hledat v článcích..." [ref=e23]
- button "Sdílet stránku" [ref=e24] [cursor=pointer]:
- generic [ref=e25]:
- text: Sdílet
- button "Přepnout téma" [ref=e26] [cursor=pointer]:
- generic [ref=e27]:
- main [ref=e28]:
- generic [ref=e29]:
- heading "🇨🇿 Vítám Tě na webu České komunity EndeavourOS! 🇨🇿" [level=1] [ref=e30]
- paragraph [ref=e31]: Lehká, rychlá a moderní distribuce založená na Arch Linuxu.
- heading "Je navržena tak, aby poskytovala uživatelům přístup k nejnovějším technologiím a softwaru, přičemž zachovává jednoduchost a stabilitu. Distribuce nabízí několik předinstalovaných prostředí." [level=4] [ref=e32]
- heading "👇 Začínáme 👇" [level=2] [ref=e33]
- generic [ref=e34]:
- 'link "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon... 2026-04-28" [ref=e35] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME"
- 'heading "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME" [level=3] [ref=e36]'
- paragraph [ref=e37]: Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon...
- generic [ref=e38]: 2026-04-28
- link "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows... 2026-04-28" [ref=e39] [cursor=pointer]:
- /url: /article.php?slug=⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky
- heading "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky" [level=3] [ref=e40]
- paragraph [ref=e41]: Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows...
- generic [ref=e42]: 2026-04-28
- 'link "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č... 2026-04-28" [ref=e43] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME"
- 'heading "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME" [level=3] [ref=e44]'
- paragraph [ref=e45]: Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č...
- generic [ref=e46]: 2026-04-28
- 'link "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta... 2026-04-28" [ref=e47] [cursor=pointer]':
- /url: "/article.php?slug=🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované"
- 'heading "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované" [level=3] [ref=e48]'
- paragraph [ref=e49]: Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta...
- generic [ref=e50]: 2026-04-28
- link "💽 Jak připojit nový SSD disk v EndeavourOS Určíme přidaný disk (dle názvu či velikosti), v mém případě ... 2026-04-28" [ref=e51] [cursor=pointer]:
- /url: /article.php?slug=💽 Jak připojit nový SSD disk v EndeavourOS
- heading "💽 Jak připojit nový SSD disk v EndeavourOS" [level=3] [ref=e52]
- paragraph [ref=e53]: Určíme přidaný disk (dle názvu či velikosti), v mém případě ...
- generic [ref=e54]: 2026-04-28
- link "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac Jak lehce instalovat aplikace pomocí grafického správce Pamac... 2026-04-28" [ref=e55] [cursor=pointer]:
- /url: /article.php?slug=Jak lehce instalovat aplikace pomocí grafického správce Pamac
- heading "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac" [level=3] [ref=e56]
- paragraph [ref=e57]: Jak lehce instalovat aplikace pomocí grafického správce Pamac...
- generic [ref=e58]: 2026-04-28
- link "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků... 2026-04-28" [ref=e59] [cursor=pointer]:
- /url: /article.php?slug=AUR packages a jak nainstalovat aplikaci pomocí YAY
- heading "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY" [level=3] [ref=e60]
- paragraph [ref=e61]: EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků...
- generic [ref=e62]: 2026-04-28
- link "🚨 Jak zapnout upozornění na nové aktualizace Jak zapnout upozornění na nové aktualizace... 2026-04-28" [ref=e63] [cursor=pointer]:
- /url: /article.php?slug=Jak zapnout upozornění na nové aktualizace
- heading "🚨 Jak zapnout upozornění na nové aktualizace" [level=3] [ref=e64]
- paragraph [ref=e65]: Jak zapnout upozornění na nové aktualizace...
- generic [ref=e66]: 2026-04-28
- link "🐧 Linux pacman příkazy Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc... 2026-04-28" [ref=e67] [cursor=pointer]:
- /url: /article.php?slug=🐧 Linux pacman příkazy
- heading "🐧 Linux pacman příkazy" [level=3] [ref=e68]
- paragraph [ref=e69]: Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc...
- generic [ref=e70]: 2026-04-28
- contentinfo [ref=e71]:
- generic [ref=e72]:
- paragraph [ref=e73]: © 2026 EndeavourOS CZ Komunita. Vytvořeno s láskou k Linuxu ❤️.
- paragraph [ref=e74]:
- link "Zásady ochrany osobních údajů" [ref=e75] [cursor=pointer]:
- /url: /privacy-policy.php
```
# Test source
```ts
55 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/rozcestnik`));
56 | });
57 |
58 | test('navigation to Krátké návody', async ({ page }) => {
59 | await homePage.clickMenuItem('Krátké návody');
60 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/cheatsheet`));
61 | });
62 |
63 | // Seznam externích odkazů, které chceme prověřit
64 | // Nyní nejde nutno doopravit
65 | // test('externí odkazy v menu jsou platné', async ({ page, request }) => {
66 | // const homePage = new HomePage(page);
67 | // await homePage.navigate();
68 |
69 | // Seznam externích odkazů, které chceme prověřit
70 | // test('kontrola externích odkazů na zdraví (status 200)', async ({ page, request }) => {
71 | // const homePage = new HomePage(page);
72 | // await homePage.navigate();
73 |
74 | // for (const link of externalLinks) {
75 | // // Ověříme, že text tlačítka je na stránce vidět
76 | // const href = await homePage.getMenuItemHref(link.name);
77 |
78 | // // Ověříme, že href v HTML odpovídá tomu, co máme v datech
79 | // expect(href).toBe(link.url);
80 |
81 | // // Provedeme rychlou kontrolu, zda link není "mrtvý"
82 | // const response = await request.get(link.url);
83 | // expect(response.ok(), `Odkaz ${link.name} na adrese ${link.url} vrací chybu!`).toBeTruthy();
84 |
85 | // console.log(`Log: Odkaz "${link.name}" je v pořádku.`);
86 | // }
87 | // });
88 |
89 | //funkční řešení - otevře web
90 | test('externí Fórum -> odkaz má správnou adresu', async () => {
91 | const href = await homePage.getMenuItemLinkHref('Fórum'); // Příklad
92 | expect(href).toBe('https://forum.arch-linux.cz/');
93 | });
94 |
95 | test('navigation to O nás', async ({ page }) => {
96 | await homePage.clickMenuItem('O nás');
97 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/o-nas`));
98 | });
99 | });
100 |
101 | test.describe('Theme', () => {
102 | let homePage: HomePage;
103 |
104 | test.beforeEach(async ({ page }) => {
105 | homePage = new HomePage(page);
106 | await homePage.navigate();
107 | });
108 | test('switch theme sun', async ({ page }) => {
109 | await homePage.switchThemeFunction()
110 | })
111 |
112 | })
113 |
114 | test.describe('Carts (Karty) na HomePage', () => {
115 | let homePage: HomePage;
116 |
117 | test.beforeEach(async ({ page }) => {
118 | homePage = new HomePage(page);
119 | await homePage.navigate();
120 | });
121 |
122 | // Otestuje textace na kartách
123 | test('should display all cards correctly', async () => {
124 | for (const card of homePageCards) {
125 | // Používáme naši POM metodu pro každou kartu
126 | await homePage.verifyCardContent(card.title, card.description);
127 | }
128 | });
129 |
130 | // test('should navigate after clicking on a specific card', async ({ page }) => {
131 | // // Příklad pro jednu konkrétní kartu
132 | // await homePage.clickCardButton('Lehkost a rychlost');
133 | // // Zde by následoval expect na novou URL
134 | // });
135 | });
136 | });
137 | test('přepnutí ze světlého startu do tmavého režimu', async ({ page }) => {
138 | // 1. FÁZE: Vynucení světlého režimu před startem
139 | // EndeavourOS.cz je defaultně tmavý, takže mu musíme zakázat třídu 'dark'
140 | await page.addInitScript(() => {
141 | document.documentElement.classList.remove('dark');
142 | window.localStorage.setItem('theme', 'light');
143 | });
144 |
145 | // 2. FÁZE: Načtení stránky
146 | await page.goto('https://endeavouros.cz');
147 |
148 | // Kontrola, že jsme skutečně začali ve světlém (třída 'dark' chybí)
149 | await expect(page.locator('html')).not.toHaveClass(/dark/);
150 |
151 | // 3. FÁZE: Akce - kliknutí na přepínač
152 | // Na webu EndeavourOS.cz je to obvykle tlačítko v menu nebo záhlaví
153 | // Tip: Použijeme ARIA label nebo ikonu, pokud známe selektor
154 | const themeSwitcher = page.locator('button.theme-switcher, .mode-switcher');
> 155 | await themeSwitcher.click();
| ^ Error: locator.click: Test timeout of 30000ms exceeded.
156 |
157 | // 4. FÁZE: Ověření výsledku
158 | // Nyní by se měla třída 'dark' vrátit na své místo
159 | await expect(page.locator('html')).toHaveClass(/dark/);
160 |
161 | // A můžeme ověřit, že se změnila barva pozadí na tmavou
162 | await expect(page.locator('body')).toHaveCSS('background-color', 'rgb(25, 20, 36)');
163 | });
164 |
165 |
166 |
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,231 @@
# Instructions
- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.
# Test info
- Name: homePage.test.ts >> startuje přímo ve světlém režimu
- Location: tests/homePage.test.ts:137:5
# Error details
```
Error: expect(locator).toHaveAttribute(expected) failed
Locator: locator('data-theme')
Expected: "light"
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toHaveAttribute" with timeout 5000ms
- waiting for locator('data-theme')
```
# Page snapshot
```yaml
- generic [active] [ref=e1]:
- banner [ref=e2]:
- generic [ref=e3]:
- link "EndeavourOS Logo CZ" [ref=e4] [cursor=pointer]:
- /url: /index.php
- img "EndeavourOS Logo" [ref=e5]
- generic [ref=e6]: CZ
- navigation [ref=e7]:
- list [ref=e8]:
- listitem [ref=e9]:
- link "Domů" [ref=e10] [cursor=pointer]:
- /url: /index.php
- listitem [ref=e11]:
- link "EndeavourOS" [ref=e12] [cursor=pointer]:
- /url: /endeavouros.php
- listitem [ref=e13]:
- link "Články" [ref=e14] [cursor=pointer]:
- /url: /rozcestnik.php
- listitem [ref=e15]:
- link "Krátké návody" [ref=e16] [cursor=pointer]:
- /url: /cheatsheet.php
- listitem [ref=e17]:
- link "Fórum" [ref=e18] [cursor=pointer]:
- /url: https://forum.arch-linux.cz/
- listitem [ref=e19]:
- link "O nás" [ref=e20] [cursor=pointer]:
- /url: /o-nas.php
- generic [ref=e21]:
- textbox "Hledat v článcích..." [ref=e23]
- button "Sdílet stránku" [ref=e24] [cursor=pointer]:
- generic [ref=e25]:
- text: Sdílet
- button "Přepnout téma" [ref=e26] [cursor=pointer]:
- generic [ref=e27]:
- main [ref=e28]:
- generic [ref=e29]:
- heading "🇨🇿 Vítám Tě na webu České komunity EndeavourOS! 🇨🇿" [level=1] [ref=e30]
- paragraph [ref=e31]: Lehká, rychlá a moderní distribuce založená na Arch Linuxu.
- heading "Je navržena tak, aby poskytovala uživatelům přístup k nejnovějším technologiím a softwaru, přičemž zachovává jednoduchost a stabilitu. Distribuce nabízí několik předinstalovaných prostředí." [level=4] [ref=e32]
- heading "👇 Začínáme 👇" [level=2] [ref=e33]
- generic [ref=e34]:
- 'link "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon... 2026-04-28" [ref=e35] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME"
- 'heading "🚀 Přecházíme na Linux: Kompletní průvodce světem EndeavourOS a GNOME" [level=3] [ref=e36]'
- paragraph [ref=e37]: Máte pocit, že váš počítač s Windows je čím dál pomalejší? Štve vás, že si systém dělá, co chce, a vy nad ním nemáte kon...
- generic [ref=e38]: 2026-04-28
- link "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows... 2026-04-28" [ref=e39] [cursor=pointer]:
- /url: /article.php?slug=⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky
- heading "⛵ Co je to ten Linux, EndeavourOS a GNOME? Malý slovníček pro úplné začátečníky" [level=3] [ref=e40]
- paragraph [ref=e41]: Rozhodli jste se zkusit Linux, ale točí se vám hlava z názvů jako distribuce, prostředí, balíčky nebo AUR? Nebojte se. Ve světě Windows...
- generic [ref=e42]: 2026-04-28
- 'link "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č... 2026-04-28" [ref=e43] [cursor=pointer]':
- /url: "/article.php?slug=🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME"
- 'heading "🚀 Jak oživit počítač moderním systémem: Instalujeme EndeavourOS s GNOME" [level=3] [ref=e44]'
- paragraph [ref=e45]: Láká vás svět Linuxu, konkrétně pověstná rychlost a aktuálnost Arch Linuxu, ale odrazuje vás složitá instalace přes č...
- generic [ref=e46]: 2026-04-28
- 'link "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta... 2026-04-28" [ref=e47] [cursor=pointer]':
- /url: "/article.php?slug=🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované"
- 'heading "🔥 Záchranná brzda pro váš systém: Co je to LTS jádro a proč ho mít nainstalované" [level=3] [ref=e48]'
- paragraph [ref=e49]: Užíváte si rychlost EndeavourOS? Skvělé. Ale co když jednoho dne po aktualizaci zapnete počítač a nenaběhne grafika, nebo přesta...
- generic [ref=e50]: 2026-04-28
- link "💽 Jak připojit nový SSD disk v EndeavourOS Určíme přidaný disk (dle názvu či velikosti), v mém případě ... 2026-04-28" [ref=e51] [cursor=pointer]:
- /url: /article.php?slug=💽 Jak připojit nový SSD disk v EndeavourOS
- heading "💽 Jak připojit nový SSD disk v EndeavourOS" [level=3] [ref=e52]
- paragraph [ref=e53]: Určíme přidaný disk (dle názvu či velikosti), v mém případě ...
- generic [ref=e54]: 2026-04-28
- link "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac Jak lehce instalovat aplikace pomocí grafického správce Pamac... 2026-04-28" [ref=e55] [cursor=pointer]:
- /url: /article.php?slug=Jak lehce instalovat aplikace pomocí grafického správce Pamac
- heading "🧰 Jak lehce instalovat aplikace pomocí grafického správce Pamac" [level=3] [ref=e56]
- paragraph [ref=e57]: Jak lehce instalovat aplikace pomocí grafického správce Pamac...
- generic [ref=e58]: 2026-04-28
- link "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků... 2026-04-28" [ref=e59] [cursor=pointer]:
- /url: /article.php?slug=AUR packages a jak nainstalovat aplikaci pomocí YAY
- heading "💾 AUR packages a jak nainstalovat aplikaci pomocí YAY" [level=3] [ref=e60]
- paragraph [ref=e61]: EndeavourOS jako všechny ostatní distribuce rodiny Arch Linuxnabízí obří seznam balíčků...
- generic [ref=e62]: 2026-04-28
- link "🚨 Jak zapnout upozornění na nové aktualizace Jak zapnout upozornění na nové aktualizace... 2026-04-28" [ref=e63] [cursor=pointer]:
- /url: /article.php?slug=Jak zapnout upozornění na nové aktualizace
- heading "🚨 Jak zapnout upozornění na nové aktualizace" [level=3] [ref=e64]
- paragraph [ref=e65]: Jak zapnout upozornění na nové aktualizace...
- generic [ref=e66]: 2026-04-28
- link "🐧 Linux pacman příkazy Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc... 2026-04-28" [ref=e67] [cursor=pointer]:
- /url: /article.php?slug=🐧 Linux pacman příkazy
- heading "🐧 Linux pacman příkazy" [level=3] [ref=e68]
- paragraph [ref=e69]: Linux pacman příkazy. Pacman je nedílnou součástí Arch Linuxu a distribucí na Arc...
- generic [ref=e70]: 2026-04-28
- contentinfo [ref=e71]:
- generic [ref=e72]:
- paragraph [ref=e73]: © 2026 EndeavourOS CZ Komunita. Vytvořeno s láskou k Linuxu ❤️.
- paragraph [ref=e74]:
- link "Zásady ochrany osobních údajů" [ref=e75] [cursor=pointer]:
- /url: /privacy-policy.php
```
# Test source
```ts
48 | test('navigation to EndeavourOS', async ({ page }) => {
49 | await homePage.clickMenuItem('EndeavourOS');
50 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/endeavouros`));
51 | });
52 |
53 | test('navigation to Články', async ({ page }) => {
54 | await homePage.clickMenuItem('Články');
55 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/rozcestnik`));
56 | });
57 |
58 | test('navigation to Krátké návody', async ({ page }) => {
59 | await homePage.clickMenuItem('Krátké návody');
60 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/cheatsheet`));
61 | });
62 |
63 | // Seznam externích odkazů, které chceme prověřit
64 | // Nyní nejde nutno doopravit
65 | // test('externí odkazy v menu jsou platné', async ({ page, request }) => {
66 | // const homePage = new HomePage(page);
67 | // await homePage.navigate();
68 |
69 | // Seznam externích odkazů, které chceme prověřit
70 | // test('kontrola externích odkazů na zdraví (status 200)', async ({ page, request }) => {
71 | // const homePage = new HomePage(page);
72 | // await homePage.navigate();
73 |
74 | // for (const link of externalLinks) {
75 | // // Ověříme, že text tlačítka je na stránce vidět
76 | // const href = await homePage.getMenuItemHref(link.name);
77 |
78 | // // Ověříme, že href v HTML odpovídá tomu, co máme v datech
79 | // expect(href).toBe(link.url);
80 |
81 | // // Provedeme rychlou kontrolu, zda link není "mrtvý"
82 | // const response = await request.get(link.url);
83 | // expect(response.ok(), `Odkaz ${link.name} na adrese ${link.url} vrací chybu!`).toBeTruthy();
84 |
85 | // console.log(`Log: Odkaz "${link.name}" je v pořádku.`);
86 | // }
87 | // });
88 |
89 | //funkční řešení - otevře web
90 | test('externí Fórum -> odkaz má správnou adresu', async () => {
91 | const href = await homePage.getMenuItemLinkHref('Fórum'); // Příklad
92 | expect(href).toBe('https://forum.arch-linux.cz/');
93 | });
94 |
95 | test('navigation to O nás', async ({ page }) => {
96 | await homePage.clickMenuItem('O nás');
97 | await expect(page).toHaveURL(new RegExp(`.*${homePage.url}/o-nas`));
98 | });
99 | });
100 |
101 | test.describe('Theme', () => {
102 | let homePage: HomePage;
103 |
104 | test.beforeEach(async ({ page }) => {
105 | homePage = new HomePage(page);
106 | await homePage.navigate();
107 | });
108 | test('switch theme sun', async ({ page }) => {
109 | await homePage.switchThemeFunction()
110 | })
111 |
112 | })
113 |
114 | test.describe('Carts (Karty) na HomePage', () => {
115 | let homePage: HomePage;
116 |
117 | test.beforeEach(async ({ page }) => {
118 | homePage = new HomePage(page);
119 | await homePage.navigate();
120 | });
121 |
122 | // Otestuje textace na kartách
123 | test('should display all cards correctly', async () => {
124 | for (const card of homePageCards) {
125 | // Používáme naši POM metodu pro každou kartu
126 | await homePage.verifyCardContent(card.title, card.description);
127 | }
128 | });
129 |
130 | // test('should navigate after clicking on a specific card', async ({ page }) => {
131 | // // Příklad pro jednu konkrétní kartu
132 | // await homePage.clickCardButton('Lehkost a rychlost');
133 | // // Zde by následoval expect na novou URL
134 | // });
135 | });
136 | });
137 | test('startuje přímo ve světlém režimu', async ({ page }) => {
138 | // Tento skript se spustí dříve, než se načte CSS a JS tvého webu
139 | await page.addInitScript(() => {
140 | document.documentElement.setAttribute('data-theme', 'light');
141 | // Pokud ukládáš nastavení do localStorage, můžeš ho "přednastavit" i tam
142 | window.localStorage.setItem('data-theme', 'light');
143 | });
144 |
145 | await page.goto('https://endeavouros.cz');
146 |
147 | // Nyní už rovnou ověřuješ, že je vše světlé
> 148 | await expect(page.locator('data-theme')).toHaveAttribute('data-theme', 'light');
| ^ Error: expect(locator).toHaveAttribute(expected) failed
149 | });
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB