mirror of
https://codeberg.org/Kankys/musicCalendar.git
synced 2026-11-11 05:54:36 +01:00
Změny v textacích a testech
This commit is contained in:
1 parent
c815d8ca86
commit
6338ddfdca
9 files changed
+105
-151
No files matched your search
@@ -0,0 +1,20 @@
|
||||
import { expect, type Locator, type Page } from '@playwright/test';
|
||||
|
||||
export class HomePage {
|
||||
readonly page: Page;
|
||||
|
||||
constructor(page: Page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
// Přidej metodu pro navigaci na konkrétní soubor
|
||||
async navigate(file: string = 'index.html') {
|
||||
// Pokud jsme na lokálu, přidáme složku /web/
|
||||
// Pokud jsme na produkci, předpokládáme root /
|
||||
const prefix = process.env.BASE_URL?.includes('music.lukan.cz') ? '' : 'web/';
|
||||
await this.page.goto(`${prefix}${file}`);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -15,5 +15,9 @@
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.60.0",
|
||||
"@types/node": "^25.6.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "playwright test",
|
||||
"test:prod": "BASE_URL=https://music.lukan.cz playwright test homePage.test.ts"
|
||||
}
|
||||
}
|
||||
+10
-64
@@ -1,79 +1,25 @@
|
||||
import { defineConfig, devices } from '@playwright/test';
|
||||
|
||||
/**
|
||||
* Read environment variables from file.
|
||||
* https://github.com/motdotla/dotenv
|
||||
*/
|
||||
// import dotenv from 'dotenv';
|
||||
// import path from 'path';
|
||||
// dotenv.config({ path: path.resolve(__dirname, '.env') });
|
||||
|
||||
/**
|
||||
* See https://playwright.dev/docs/test-configuration.
|
||||
*/
|
||||
export default defineConfig({
|
||||
testDir: './e2e',
|
||||
/* Run tests in files in parallel */
|
||||
testDir: './tests',
|
||||
fullyParallel: true,
|
||||
/* Fail the build on CI if you accidentally left test.only in the source code. */
|
||||
forbidOnly: !!process.env.CI,
|
||||
/* Retry on CI only */
|
||||
retries: process.env.CI ? 2 : 0,
|
||||
/* Opt out of parallel tests on CI. */
|
||||
workers: process.env.CI ? 1 : undefined,
|
||||
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
|
||||
reporter: 'html',
|
||||
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
|
||||
use: {
|
||||
/* Base URL to use in actions like `await page.goto('')`. */
|
||||
// baseURL: 'http://localhost:3000',
|
||||
|
||||
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
|
||||
// Pokud v terminálu nastavíš BASE_URL, použije ho. Jinak použije localhost.
|
||||
baseURL: process.env.BASE_URL || 'http://localhost:8080',
|
||||
trace: 'on-first-retry',
|
||||
},
|
||||
|
||||
/* Configure projects for major browsers */
|
||||
webServer: {
|
||||
// WebServer se spustí pouze tehdy, pokud NENÍ nastavena jiná BASE_URL
|
||||
// (nechceme spouštět lokální server, když testujeme produkci)
|
||||
command: process.env.BASE_URL ? undefined : 'npx http-server ../../ -p 8080',
|
||||
url: process.env.BASE_URL || 'http://localhost:8080',
|
||||
reuseExistingServer: !process.env.CI,
|
||||
},
|
||||
projects: [
|
||||
{
|
||||
name: 'chromium',
|
||||
use: { ...devices['Desktop Chrome'] },
|
||||
},
|
||||
|
||||
{
|
||||
name: 'firefox',
|
||||
use: { ...devices['Desktop Firefox'] },
|
||||
},
|
||||
|
||||
{
|
||||
name: 'webkit',
|
||||
use: { ...devices['Desktop Safari'] },
|
||||
},
|
||||
|
||||
/* Test against mobile viewports. */
|
||||
// {
|
||||
// name: 'Mobile Chrome',
|
||||
// use: { ...devices['Pixel 5'] },
|
||||
// },
|
||||
// {
|
||||
// name: 'Mobile Safari',
|
||||
// use: { ...devices['iPhone 12'] },
|
||||
// },
|
||||
|
||||
/* Test against branded browsers. */
|
||||
// {
|
||||
// name: 'Microsoft Edge',
|
||||
// use: { ...devices['Desktop Edge'], channel: 'msedge' },
|
||||
// },
|
||||
// {
|
||||
// name: 'Google Chrome',
|
||||
// use: { ...devices['Desktop Chrome'], channel: 'chrome' },
|
||||
// },
|
||||
],
|
||||
|
||||
/* Run your local dev server before starting the tests */
|
||||
// webServer: {
|
||||
// command: 'npm run start',
|
||||
// url: 'http://localhost:3000',
|
||||
// reuseExistingServer: !process.env.CI,
|
||||
// },
|
||||
});
|
||||
@@ -1,20 +0,0 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test('has title', async ({ page }) => {
|
||||
await page.goto('https://music.lukan.cz');
|
||||
|
||||
// Expect a title "to contain" a substring.
|
||||
await expect(page).toHaveTitle(/Zažij numetal a grunge každý den, po celý rok./);
|
||||
});
|
||||
|
||||
test('get started link', async ({ page }) => {
|
||||
await page.goto('https://music.lukan.cz');
|
||||
|
||||
|
||||
|
||||
// // Click the get started link.
|
||||
// await page.getByRole('link', { name: 'O projektu' }).click();
|
||||
|
||||
// // Expects page to have a heading with the name of Installation.
|
||||
// await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible();
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { HomePage } from '../assets/pages/HomePage';
|
||||
|
||||
let homePage: HomePage;
|
||||
|
||||
test.describe('Home page', () => {
|
||||
|
||||
// Před každým testem vytvoříme novou instanci stránky
|
||||
test.beforeEach(async ({ page }) => {
|
||||
homePage = new HomePage(page);
|
||||
await homePage.navigate();
|
||||
});
|
||||
|
||||
test('has title', async ({ page }) => {
|
||||
await homePage.navigate('index.html');
|
||||
await expect(homePage.page).toHaveURL(/\/index\.html$/); // Odolné testování URL
|
||||
await expect(page).toHaveTitle('Zažij numetal a grunge každý den, po celý rok.');
|
||||
});
|
||||
});
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
# 💿 Každý den jedno album. 🎸 Zažíj numetal a grunge každý den.
|
||||
## 💪 Zvládneš tuto výzvu v roce 2026?
|
||||
## 🤟 Ukaž že na to máš .
|
||||
Odkaz na [výzvu](https://music.lukan.cz)
|
||||
|
||||
# 💿 Každý den jedno album. 🎸 Denní hudební doporučení.
|
||||
## 🎵 365 alb na celý rok
|
||||
## 🤟 Prozkoumej historii rockové hudby.
|
||||
Odkaz na [Denní Hudební Doporučení](https://music.lukan.cz)
|
||||
|
||||
**Co je nového:**
|
||||
|
||||
🎸 **Glitch animace** na nadpisu
|
||||
- 📺 **Scanlines overlay** (jako starý TV)
|
||||
|
||||
+13
-14
@@ -8,11 +8,11 @@
|
||||
<meta property="og:url" content="https://music.lukan.cz/" />
|
||||
<meta
|
||||
property="og:title"
|
||||
content="Hudební Výzva 2026: Grunge & Nu-Metal"
|
||||
content="Denní Hudební Doporučení: 365 Alb na Celý Rok"
|
||||
/>
|
||||
<meta
|
||||
property="og:description"
|
||||
content="Každý den jedno zásadní album. Zvládneš to se mnou? 365 dní, 365 desek."
|
||||
content="Každý den jedno zásadní album. Prozkoumejte historii rockové hudby s 365 doporučeními na celý rok."
|
||||
/>
|
||||
<meta
|
||||
property="og:image"
|
||||
@@ -22,11 +22,11 @@
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta
|
||||
name="twitter:title"
|
||||
content="Hudební Výzva 2026: Grunge & Nu-Metal"
|
||||
content="Denní Hudební Doporučení: 365 Alb na Celý Rok"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:description"
|
||||
content="Každý den jedno zásadní album. Přidej se!"
|
||||
content="Každý den jedno zásadní album. Prozkoumejte historii rockové hudby s 365 doporučeními."
|
||||
/>
|
||||
<meta
|
||||
name="twitter:image"
|
||||
@@ -34,7 +34,7 @@
|
||||
/>
|
||||
<meta
|
||||
name="Hudební kalendář"
|
||||
content="Každý den jedno album. Zažíj numetal a grunge každý den."
|
||||
content="Každý den jedno album. Denní hudební doporučení."
|
||||
/>
|
||||
<link rel="stylesheet" href="styleabout.css" />
|
||||
<link rel="shortcut icon" href="img/electric-guitar_12494348.png" />
|
||||
@@ -100,7 +100,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<div class="about-container">
|
||||
<h1>🎸 Zažij numetal a grunge každý den, po celý rok. 💿</h1>
|
||||
<h1>🎸 Denní hudební doporučení: 365 alb na celý rok. 💿</h1>
|
||||
<p class="subtitle">
|
||||
<strong
|
||||
>💿 Každý den jedno album. 💿</strong
|
||||
@@ -114,7 +114,7 @@
|
||||
hudebních stream služeb neustále točí v kruhu? Nabízejí nám
|
||||
pořád to samé, co už známe. Řekl jsem si to není pro mne.
|
||||
Chtěl jsem se vrátit k poslechu – od první do poslední
|
||||
skladby. A tak vznikl můj projekt: Hudební výzva 2026.
|
||||
skladby. A tak vznikl můj projekt: Denní hudební doporučení.
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
@@ -160,15 +160,14 @@
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
Vytvořil jsem jednoduchou webovou aplikaci, která mi (a teď
|
||||
i vám) každý den servíruje jedno zásadní album z této éry.
|
||||
Vytvořil jsem jednoduchou webovou aplikaci, která vám
|
||||
každý den servíruje jedno zásadní album z této éry.
|
||||
Někdy je to depresivní grungeová balada, jindy agresivní
|
||||
nu-metalová smršť.
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
Zvu vás, abyste do toho šli se mnou. Nemusíte hledat, co si
|
||||
pustit. Stačí otevřít aplikaci a nechat se vést.
|
||||
Nemusíte hledat, co si pustit. Stačí otevřít aplikaci a nechat se vést.
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
@@ -220,11 +219,11 @@
|
||||
</p>
|
||||
</div>
|
||||
<p class="copyright">
|
||||
© 2025 - 2026 Tvůj Hudební Kurátor Kankys
|
||||
© 2025 - 2026 Denní Hudební Doporučení
|
||||
</p>
|
||||
<p style="font-size: 0.8em; margin-top: 10px">
|
||||
<a href="gdpr.html" class="links"
|
||||
>Ochrana soukromí a jiné žvásty (GDPR)</a
|
||||
>Ochrana soukromí a další informace (GDPR)</a
|
||||
>
|
||||
</p>
|
||||
<section class="photo">
|
||||
@@ -232,7 +231,7 @@
|
||||
id="vyzva"
|
||||
class="zoom"
|
||||
src="./img/vyzva-EDIT.jpg"
|
||||
alt="Výzva"
|
||||
alt="Denní Hudební Doporučení"
|
||||
/>
|
||||
</section>
|
||||
<!--<a
|
||||
|
||||
+32
-46
@@ -1,67 +1,53 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="cs">
|
||||
<head>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Zažij numetal a grunge každý den, po celý rok.</title>
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://music.lukan.cz/" />
|
||||
<meta property="og:title" content="Každý den jedno album: Grunge & Nu-Metal" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="Každý den jedno zásadní album. Zvládneš to se mnou? 365 dní, 365 desek."
|
||||
/>
|
||||
<meta
|
||||
property="og:image"
|
||||
content="https://music.lukan.cz/img/vyzva-EDIT.jpg"
|
||||
/>
|
||||
<meta property="og:title" content="🎸 Denní Hudební Doporučení: 365 Alb na Celý Rok" />
|
||||
<meta property="og:description"
|
||||
content="Každý den jedno ikonické grunge nebo nu-metal album. Prozkoumejte historii rockové hudby s 365 doporučeními na celý rok." />
|
||||
<meta property="og:image" content="https://music.lukan.cz/img/vyzva-EDIT.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta
|
||||
name="twitter:title"
|
||||
content="Každý den jedno album: Grunge & Nu-Metal"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:description"
|
||||
content="Každý den jedno zásadní album. Přidej se!"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:image"
|
||||
content="https://music.lukan.cz/img/vyzva-EDIT.jpg"
|
||||
/>
|
||||
<meta
|
||||
name="Hudební kalendář"
|
||||
content="Každý den jedno album. Zažíj numetal a grunge každý den."
|
||||
/>
|
||||
<meta name="twitter:title" content="🎸 Denní Hudební Doporučení: 365 Alb na Celý Rok" />
|
||||
<meta name="twitter:description"
|
||||
content="Každý den jedno ikonické grunge nebo nu-metal album. Prozkoumejte historii rockové hudby s 365 doporučeními na celý rok." />
|
||||
<meta name="twitter:image" content="https://music.lukan.cz/img/vyzva-EDIT.jpg" />
|
||||
<meta name="description"
|
||||
content="Každý den jedno ikonické grunge nebo nu-metal album. Prozkoumejte historii rockové hudby s 365 doporučeními na celý rok." />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="shortcut icon" href="img/electric-guitar_12494348.png" />
|
||||
<script defer src="https://analytics.lukan.cz/script.js" data-website-id="380320b5-153c-4d12-a6c6-49f28e0daa86"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>🎸 Zažij numetal a grunge každý den, po celý rok. 💿</h1>
|
||||
<p>
|
||||
<strong
|
||||
>💿 Každý den jedno album. 💿</strong
|
||||
>
|
||||
</p>
|
||||
<script defer src="https://analytics.lukan.cz/script.js"
|
||||
data-website-id="380320b5-153c-4d12-a6c6-49f28e0daa86"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>🎸 Denní Hudební Doporučení: 365 Alb na Celý Rok 💿</h1>
|
||||
<p>
|
||||
<strong>💿 Každý den jedno ikonické grunge nebo nu-metal album. Prozkoumejte historii rockové hudby s 365 doporučeními! 💿</strong>
|
||||
</p>
|
||||
<div id="zobrazeni-alba"></div>
|
||||
<div style="margin-top: 30px; margin-bottom: 20px">
|
||||
<button id="btn-archiv" class="btn-main">
|
||||
📂 Zobrazit předchozí alba
|
||||
</button>
|
||||
<button id="btn-archiv" class="btn-main">
|
||||
📂 Zobrazit předchozí alba
|
||||
</button>
|
||||
</div>
|
||||
<div id="archiv-container" class="archiv-grid"></div>
|
||||
<div style="margin-top: 30px; margin-bottom: 20px">
|
||||
<button id="btn-footer" class="btn-footer"><br/>
|
||||
<a href="gdpr.html" class="link-footer"
|
||||
>Ochrana soukromí a jiné žvásty (GDPR)
|
||||
<p class="copyright">© 2025 - 2026 Tvůj Hudební Kurátor Kankys</p></a
|
||||
>
|
||||
</button>
|
||||
<button id="btn-footer" class="btn-footer"><br />
|
||||
<a href="gdpr.html" class="link-footer">Ochrana soukromí a další informace (GDPR)
|
||||
<p class="copyright">© 2025 - 2026 Denní Hudební Doporučení</p>
|
||||
</a>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<section class="photo">
|
||||
<img id="vyzva" class="zoom" src="./img/vyzva-EDIT.jpg" alt="Výzva" />
|
||||
<img id="vyzva" class="zoom" src="./img/vyzva-EDIT.jpg" alt="Grunge a Nu-Metal Hudební Výzva - 365 Alb" />
|
||||
</section>
|
||||
<script src="musicData.js"></script>
|
||||
<script src="script.js"></script>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+2
-2
@@ -45,7 +45,7 @@ if (dnesniAlbum) {
|
||||
// Alert bez alba
|
||||
vystup.innerHTML = `
|
||||
<div class="album-card">
|
||||
<h3>Dnes není v plánu žádné album 🎵</h3>
|
||||
<h3>Dnes není žádné doporučení 🎵</h3>
|
||||
<p>Zkus se podívat zítra!</p>
|
||||
</div>
|
||||
`;
|
||||
@@ -74,7 +74,7 @@ btnArchiv.addEventListener("click", () => {
|
||||
// D. Pokud žádná minulá alba nejsou
|
||||
if (minulaAlba.length === 0) {
|
||||
divArchiv.innerHTML =
|
||||
"<p>Zatím tu žádná historie není. Přijď zítra! ⏳</p>";
|
||||
"<p>Zatím tu žádná doporučení nejsou. Přijď zítra! ⏳</p>";
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user