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
+107
-153
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"
|
||||
}
|
||||
}
|
||||
+11
-65
@@ -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.');
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user