presseportale/tests/Feature/Web/StaticPagesTest.php
Kevin Adametz 136ecc8f43 R3.2: Kontakt-/Ueber-uns-Routen zurueckgebaut, Spoke-Footer bereinigt
- GET kontakt/ueber-uns -> 301 auf die Ausgaben-Startseite;
  kontakt.store-POST bleibt fuer das Hub-Kontakt-Modal
- Legacy-Aliases (contact/kontakt/ueber-uns) buendeln auf die Startseite
- Spoke-Footer: Kontakt als mailto (Betreiber-Fallback bis R2.1),
  Ueber-uns-Link raus, Selfservice-Kuendigungslink ergaenzt
- Sitemap-Konstanten bereinigt, Tests angepasst

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 15:36:13 +00:00

53 lines
2.1 KiB
PHP

<?php
use Tests\TestCase;
dataset('static pages', [
'impressum' => ['de/impressum', 'Impressum'],
'datenschutz' => ['de/datenschutz', 'Datenschutzerklärung'],
'agb' => ['de/agb', 'Allgemeine Geschäftsbedingungen'],
'cookies' => ['de/cookies', 'Cookie-Richtlinien'],
'faq' => ['de/faq', 'Häufig gestellte Fragen'],
'hilfe' => ['de/hilfe', 'Hilfe-Center'],
'api' => ['de/api', 'API-Dokumentation'],
]);
test('static pages render in the editorial design', function (string $path, string $heading) {
/** @var TestCase $this */
$response = $this->get("https://businessportal24.test/{$path}");
$response->assertSuccessful()
->assertSeeText($heading)
// Editorial-Shell (Token aus den neuen Komponenten) statt altem Theme.
->assertSee('bg-bg', false)
// Altes Theme darf nicht mehr gerendert werden.
->assertDontSee('gradient-hero');
})->with('static pages');
test('the faq page lists questions and links to support', function () {
/** @var TestCase $this */
$this->get('https://businessportal24.test/de/faq')
->assertSuccessful()
->assertSeeText('Wie veröffentliche ich meine erste Pressemitteilung?')
->assertSeeText('Frage nicht gefunden?')
// Kontakt läuft nach dem Rückbau der Kontakt-Seite über das
// Support-Postfach und die Kündigung über die eigene Seite.
->assertSee('mailto:', false)
->assertSee(route('kuendigung', ['edition' => 'de']), false);
});
test('the retired contact and about pages redirect to the edition home', function (string $path) {
/** @var TestCase $this */
$this->get('https://businessportal24.test/de/'.$path)
->assertStatus(301)
->assertRedirect('https://businessportal24.test/de');
})->with(['kontakt', 'ueber-uns']);
test('the help center shows quick links and topics', function () {
/** @var TestCase $this */
$this->get('https://businessportal24.test/de/hilfe')
->assertSuccessful()
->assertSeeText('Hilfe-Themen')
->assertSee(route('faq'), false)
->assertSee(route('veroeffentlichen'), false);
});