b2in/tests/Feature/LiveSiteReviewTest.php
Kevin Adametz 6c6d683b9a Display CMS Optimierungen 29-05-2026
- Mediathek: Video-Vorschaubilder statt Icons (FFmpeg-Thumbnails + Backfill-Command), Kategorie "Sonstiges"
- B2in Media-Picker zeigt alle Medientypen, Typ wird automatisch erkannt; Thumbnail-Preview vor allen Medien-URL-Feldern
- B2in Marke/Footer: Footer ein/aus, Logo+Claim frei positionierbar (Ecken) mit Constraints, separate Anzeige-Schalter
- Angebote-Modul dynamisch: kein Slide-Typ mehr, einheitliches Detail-Layout mit ein-/ausblendbaren Bloecken, Logo/Brand pro Slide, Streichpreis-Option
- Player: leere Module stoppen Endlosschleife, dynamische Layout-Anpassung bei verstecktem Footer/Header
- Fix: Script-Ladereihenfolge (Livewire vor Flux), entfernte stale public/flux/flux.js, Modal-Crash beim Aktualisieren behoben

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:57:33 +00:00

74 lines
3.6 KiB
PHP

<?php
declare(strict_types=1);
// ========================================
// Live-Seiten: HTTP Status
// ========================================
it('homepage loads', fn () => $this->get('/')->assertSuccessful());
it('immobilien page loads', fn () => $this->get('/immobilien')->assertSuccessful());
it('immobilien expose loads', fn () => $this->get('/immobilien/azizi-creek-views-4')->assertSuccessful());
it('netzwerk page loads', fn () => $this->get('/netzwerk')->assertSuccessful());
it('magazin list loads', fn () => $this->get('/magazin')->assertSuccessful());
it('magazin article 1 loads', fn () => $this->get('/magazin/1')->assertSuccessful());
it('magazin article 2 loads', fn () => $this->get('/magazin/2')->assertSuccessful());
it('magazin article 3 loads', fn () => $this->get('/magazin/3')->assertSuccessful());
it('magazin article 4 loads', fn () => $this->get('/magazin/4')->assertSuccessful());
it('magazin article 5 loads', fn () => $this->get('/magazin/5')->assertSuccessful());
it('about page loads', fn () => $this->get('/about')->assertSuccessful());
it('contact page loads', fn () => $this->get('/contact')->assertSuccessful());
it('faq page loads', fn () => $this->get('/faq')->assertSuccessful());
// ========================================
// Redirects
// ========================================
it('interior redirects to netzwerk', fn () => $this->get('/interior')->assertRedirect('/netzwerk'));
it('partner redirects to netzwerk', fn () => $this->get('/partner')->assertRedirect('/netzwerk'));
it('ecosystem redirects to partner', fn () => $this->get('/ecosystem')->assertRedirect('/partner'));
// ========================================
// Dev/Archiv-Seiten
// ========================================
it('dev sitemap loads', fn () => $this->get('/dev/sitemap')->assertSuccessful());
it('dev immobilien v1 loads', fn () => $this->get('/dev/immobilien-v1')->assertSuccessful());
it('dev interior v1 loads', fn () => $this->get('/dev/interior-v1')->assertSuccessful());
it('dev partner v1 loads', fn () => $this->get('/dev/partner-v1')->assertSuccessful());
// ========================================
// 404 für ungültige Routen
// ========================================
it('invalid immobilien slug returns 404', fn () => $this->get('/immobilien/nonexistent')->assertNotFound());
// ========================================
// Announcement Bar auf allen Seiten
// ========================================
it('announcement bar visible on homepage', fn () => $this->get('/')->assertSee('Azizi Creek Views 4'));
it('announcement bar visible on about', fn () => $this->get('/about')->assertSee('Azizi Creek Views 4'));
// ========================================
// Kritische Inhalte vorhanden
// ========================================
it('homepage has navigation', fn () => $this->get('/')->assertSee('Immobilien')->assertSee('Netzwerk')->assertSee('Magazin'));
it('immobilien has all five sections', function () {
$this->get('/immobilien')
->assertSee('Warum Dubai für Investoren relevant bleibt')
->assertSee('Der Kaufprozess mit B2in')
->assertSee('Passt Dubai zu Ihrer Investmentstrategie?')
->assertSee('Einrichtung mitdenken')
->assertSee('Investoren');
});
it('netzwerk has teaser cards', fn () => $this->get('/netzwerk')->assertSee('Einrichtungsnetzwerk')->assertSee('In Entwicklung'));
it('magazin has all five articles', function () {
$this->get('/magazin')
->assertSee('Escrow-System')
->assertSee('Al Jaddaf')
->assertSee('Turnkey')
->assertSee('Supply-Chain')
->assertSee('Local for Local');
});