test runner vps

This commit is contained in:
2026-05-05 22:51:02 +02:00
parent 18e78b04ba
commit 49cf778d94
21 changed files with 2 additions and 510 deletions
+1 -1
View File
@@ -87,4 +87,4 @@ Error generating stack: `+l.message+`
<div id='root'></div>
</body>
</html>
<template id="playwrightReportBase64">data:application/zip;base64,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</template>
<template id="playwrightReportBase64">data:application/zip;base64,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</template>
@@ -1,223 +0,0 @@
# 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 >> Theme >> Mock date light >> Light to Dark check
- Location: tests/homePage.test.ts:175:9
# Error details
```
ReferenceError: homePage is not defined
```
# 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
100 |
101 |
102 |
103 | test.describe('Carts (Karty) na HomePage', () => {
104 | let homePage: HomePage;
105 |
106 | test.beforeEach(async ({ page }) => {
107 | homePage = new HomePage(page);
108 | await homePage.navigate();
109 | });
110 |
111 | // Otestuje textace na kartách
112 | test('should display all cards correctly', async () => {
113 | for (const card of homePageCards) {
114 | // Používáme naši POM metodu pro každou kartu
115 | await homePage.verifyCardContent(card.title, card.description);
116 | }
117 | });
118 |
119 | // test('should navigate after clicking on a specific card', async ({ page }) => {
120 | // // Příklad pro jednu konkrétní kartu
121 | // await homePage.clickCardButton('Lehkost a rychlost');
122 | // // Zde by následoval expect na novou URL
123 | // });
124 | });
125 | });
126 |
127 |
128 |
129 | test.describe('Theme', () => {
130 | test.describe('Theme -- dark default to light', () => {
131 | let homePage: HomePage;
132 |
133 | test.beforeEach(async ({ page }) => {
134 | homePage = new HomePage(page);
135 | await homePage.navigate();
136 | });
137 | test('switch theme sun', async ({ page }) => {
138 | await homePage.switchThemeFunctionLight()
139 | });
140 |
141 | });
142 | test.describe('Mock date light', () => {
143 | test('vynucený start ve světlém režimu + kontrola režimu', async ({ page }) => {
144 | // 1. Nastavíme emulaci systému na light (to je základ)
145 | await page.emulateMedia({ colorScheme: 'light' });
146 |
147 | // 2. Mockujeme stav paměti a DOMu
148 | await page.addInitScript(() => {
149 | // Vnutíme informaci, že chceme light do paměti
150 | window.localStorage.setItem('theme', 'light');
151 | window.localStorage.setItem('color-theme', 'light'); // Pro jistotu oba běžné názvy
152 |
153 | // Tady je ten trik: Sledujeme, kdyby se web snažil přidat 'dark' a hned to smažeme
154 | const observer = new MutationObserver(() => {
155 | if (document.documentElement.classList.contains('dark')) {
156 | document.documentElement.classList.remove('dark');
157 | }
158 | });
159 | observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
160 | });
161 |
162 | // 3. Jdeme na web
163 | await page.goto('https://endeavouros.cz');
164 |
165 | // 4. OVĚŘENÍ: Teď už musí být světlý
166 | const html = page.locator('html');
167 | await expect(html).not.toHaveClass(/dark/);
168 |
169 | // Vizuální kontrola - barva pozadí by teď měla být bílá/světlá (rgb 255, 255, 255)
170 | // Poznámka: Pokud má web i ve světlém režimu jinou barvu, uprav si rgb hodnotu
171 | await expect(page.locator('body')).toHaveCSS('background-color', 'rgb(248, 249, 250)');
172 | await expect(page.locator('html')).toHaveAttribute('data-theme', 'light');
173 |
174 | });
175 | test('Light to Dark check', async ({ page }) => {
176 | // 1. Nastavíme emulaci systému na light (to je základ)
177 | await page.emulateMedia({ colorScheme: 'light' });
178 |
179 | // 2. Mockujeme stav paměti a DOMu
180 | await page.addInitScript(() => {
181 | // Vnutíme informaci, že chceme light do paměti
182 | window.localStorage.setItem('theme', 'light');
183 | window.localStorage.setItem('color-theme', 'light'); // Pro jistotu oba běžné názvy
184 |
185 | // Tady je ten trik: Sledujeme, kdyby se web snažil přidat 'dark' a hned to smažeme
186 | const observer = new MutationObserver(() => {
187 | if (document.documentElement.classList.contains('dark')) {
188 | document.documentElement.classList.remove('dark');
189 | }
190 | });
191 | observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
192 | });
193 |
194 | // 3. Jdeme na web
195 | await page.goto('https://endeavouros.cz');
196 |
197 | // 4. OVĚŘENÍ: Teď už musí být světlý
198 | const html = page.locator('html');
199 | await expect(html).not.toHaveClass(/dark/);
> 200 | await homePage.switchThemeFunctionDark()
| ^ ReferenceError: homePage is not defined
201 | });
202 | });
203 | });
```
Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

@@ -1,285 +0,0 @@
# 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 >> Theme >> Theme -- dark default to light >> switch theme sun
- Location: tests/homePage.test.ts:137:9
# Error details
```
TypeError: homePage.switchThemeFunctionLight is not a function
```
# 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
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 |
102 |
103 | test.describe('Carts (Karty) na HomePage', () => {
104 | let homePage: HomePage;
105 |
106 | test.beforeEach(async ({ page }) => {
107 | homePage = new HomePage(page);
108 | await homePage.navigate();
109 | });
110 |
111 | // Otestuje textace na kartách
112 | test('should display all cards correctly', async () => {
113 | for (const card of homePageCards) {
114 | // Používáme naši POM metodu pro každou kartu
115 | await homePage.verifyCardContent(card.title, card.description);
116 | }
117 | });
118 |
119 | // test('should navigate after clicking on a specific card', async ({ page }) => {
120 | // // Příklad pro jednu konkrétní kartu
121 | // await homePage.clickCardButton('Lehkost a rychlost');
122 | // // Zde by následoval expect na novou URL
123 | // });
124 | });
125 | });
126 |
127 |
128 |
129 | test.describe('Theme', () => {
130 | test.describe('Theme -- dark default to light', () => {
131 | let homePage: HomePage;
132 |
133 | test.beforeEach(async ({ page }) => {
134 | homePage = new HomePage(page);
135 | await homePage.navigate();
136 | });
137 | test('switch theme sun', async ({ page }) => {
> 138 | await homePage.switchThemeFunctionLight()
| ^ TypeError: homePage.switchThemeFunctionLight is not a function
139 | });
140 |
141 | });
142 | test.describe('Mock date light', () => {
143 | test('vynucený start ve světlém režimu + kontrola režimu', async ({ page }) => {
144 | // 1. Nastavíme emulaci systému na light (to je základ)
145 | await page.emulateMedia({ colorScheme: 'light' });
146 |
147 | // 2. Mockujeme stav paměti a DOMu
148 | await page.addInitScript(() => {
149 | // Vnutíme informaci, že chceme light do paměti
150 | window.localStorage.setItem('theme', 'light');
151 | window.localStorage.setItem('color-theme', 'light'); // Pro jistotu oba běžné názvy
152 |
153 | // Tady je ten trik: Sledujeme, kdyby se web snažil přidat 'dark' a hned to smažeme
154 | const observer = new MutationObserver(() => {
155 | if (document.documentElement.classList.contains('dark')) {
156 | document.documentElement.classList.remove('dark');
157 | }
158 | });
159 | observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
160 | });
161 |
162 | // 3. Jdeme na web
163 | await page.goto('https://endeavouros.cz');
164 |
165 | // 4. OVĚŘENÍ: Teď už musí být světlý
166 | const html = page.locator('html');
167 | await expect(html).not.toHaveClass(/dark/);
168 |
169 | // Vizuální kontrola - barva pozadí by teď měla být bílá/světlá (rgb 255, 255, 255)
170 | // Poznámka: Pokud má web i ve světlém režimu jinou barvu, uprav si rgb hodnotu
171 | await expect(page.locator('body')).toHaveCSS('background-color', 'rgb(248, 249, 250)');
172 | await expect(page.locator('html')).toHaveAttribute('data-theme', 'light');
173 |
174 | });
175 | test('Light to Dark check', async ({ page }) => {
176 | // 1. Nastavíme emulaci systému na light (to je základ)
177 | await page.emulateMedia({ colorScheme: 'light' });
178 |
179 | // 2. Mockujeme stav paměti a DOMu
180 | await page.addInitScript(() => {
181 | // Vnutíme informaci, že chceme light do paměti
182 | window.localStorage.setItem('theme', 'light');
183 | window.localStorage.setItem('color-theme', 'light'); // Pro jistotu oba běžné názvy
184 |
185 | // Tady je ten trik: Sledujeme, kdyby se web snažil přidat 'dark' a hned to smažeme
186 | const observer = new MutationObserver(() => {
187 | if (document.documentElement.classList.contains('dark')) {
188 | document.documentElement.classList.remove('dark');
189 | }
190 | });
191 | observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
192 | });
193 |
194 | // 3. Jdeme na web
195 | await page.goto('https://endeavouros.cz');
196 |
197 | // 4. OVĚŘENÍ: Teď už musí být světlý
198 | const html = page.locator('html');
199 | await expect(html).not.toHaveClass(/dark/);
200 | await homePage.switchThemeFunctionDark()
201 | });
202 | });
203 | });
```
Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

+1 -1
View File
@@ -156,7 +156,7 @@ test.describe('EndeavourOS HomePage - POM', () => {
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
});
// 3. Jdeme na web
// 3. Jdeme na web .
await page.goto('https://endeavouros.cz');
// 4. OVĚŘENÍ: Teď už musí být světlý