feat: implement Marco's customer changes
- Remove 'Flotte ansehen' button from hero section - Remove '24/7 Support' stat from hero section - Remove 'Unsere Flotte' eyebrow from fleet section - Remove ALL 'Warum wir' / 'Why us' references from nav links, i18n keys, and legal pages - Update reviews: Ferrari references only (removed GT3 mentions) - Update Impressum with correct company data (MC Cars GmbH) - Add multi-photo gallery: DB migration (17-vehicle-photos.sql), admin UI for photo management, frontend carousel on cards and dialog - Update SEO: Ferrari-focused meta tags, title, keywords, JSON-LD - Clean up dead i18n keys (viewFleet, statSupport, fleetEyebrow, navWhy, why* keys) - Fix legal page issues: add config.js script, fix logo references to SVG - Add Playwright E2E tests (26/26 passing) - Update footer tagline across all pages
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test.describe('Photo Gallery Feature', () => {
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await page.waitForLoadState('domcontentloaded');
|
||||
await page.waitForTimeout(1000);
|
||||
});
|
||||
|
||||
test('Vehicle cards render correctly', async ({ page }) => {
|
||||
await page.locator('#fahrzeuge').scrollIntoViewIfNeeded();
|
||||
const cards = page.locator('.vehicle-card');
|
||||
await expect(cards.first()).toBeVisible();
|
||||
});
|
||||
|
||||
test('Vehicle card has photo', async ({ page }) => {
|
||||
await page.locator('#fahrzeuge').scrollIntoViewIfNeeded();
|
||||
const firstPhoto = page.locator('.vehicle-card').first().locator('.vehicle-photo img');
|
||||
await expect(firstPhoto).toBeVisible();
|
||||
const src = await firstPhoto.getAttribute('src');
|
||||
expect(src).not.toBeNull();
|
||||
expect(src).not.toBe('');
|
||||
});
|
||||
|
||||
test('Vehicle details dialog opens', async ({ page }) => {
|
||||
await page.locator('#fahrzeuge').scrollIntoViewIfNeeded();
|
||||
const detailsBtn = page.locator('[data-details]').first();
|
||||
if (await detailsBtn.isVisible()) {
|
||||
await detailsBtn.click();
|
||||
const dialog = page.locator('#carDialog');
|
||||
await expect(dialog).toBeVisible();
|
||||
}
|
||||
});
|
||||
|
||||
test('Booking wizard - vehicle selector works', async ({ page }) => {
|
||||
await page.locator('#buchen').scrollIntoViewIfNeeded();
|
||||
const carSelect = page.locator('#bpfCar');
|
||||
await expect(carSelect).toBeVisible();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user