- Registrierungs-Schritt ehrlich beschrieben (E-Mail/Google, Freischaltung nach E-Mail-Bestaetigung statt 'direkt freigeschaltet'; Magic-Link ist nur Anmeldeweg) - Newsroom-Karte: 'getrennte Berechtigungen'/'mehrere Redakteure' durch belegbare Aussagen ersetzt (keine Team-Verwaltung im Panel) - Kuendigungs-FAQ nach E5 (Jahreszahlweise 12 Monate, danach monatlich) + Link auf die Selfservice-Kuendigungsseite - B2B-Erkennbarkeits-Satz im Tarife-Intro (AGB v0.6 / T14) - Wording T16: 'Inhaltsprüfung' statt Redakteurs-Versprechen; 'kein automatisierter Durchlauf'-Behauptung entfernt - Widerrufs-Button + Modal-Includes entfernt (Entscheidung E2 B2B-only, T3neu: Kuendigungsbutton bleibt freiwillig); Backend/Route bleibt schlafend erhalten, reaktivierbar bei B2C-Oeffnung - Hub-FAQ/Footer verlinken die API-Seite statt der toten docs-Route Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
39 lines
1.5 KiB
PHP
39 lines
1.5 KiB
PHP
<?php
|
|
|
|
use Tests\TestCase;
|
|
|
|
test('static pages on the hub domain render the hub shell', function (string $path) {
|
|
/** @var TestCase $this */
|
|
$response = $this->get('https://pressekonto.test/de/'.$path)->assertSuccessful();
|
|
$content = $response->getContent();
|
|
|
|
expect($content)
|
|
// Hub-Kopf: Utility-Bar + Hub-Header statt Spoke-Gerüst.
|
|
->toContain('Publisher-Hub für')
|
|
->toContain('Publisher · Hub')
|
|
// Hub-Footer inkl. Selfservice-Kündigungsbutton + Kontakt-Modal.
|
|
// Der Widerrufs-Button entfällt (Entscheidung E2: B2B-only).
|
|
->toContain('Verträge hier kündigen')
|
|
->not->toContain('open-withdrawal-modal')
|
|
->toContain('open-contact-modal')
|
|
// Kein Spoke-Portal-Branding im Gerüst.
|
|
->not->toContain('Pressemitteilungen · DACH');
|
|
})->with(['impressum', 'agb', 'datenschutz', 'cookies', 'api']);
|
|
|
|
test('the hub static page breadcrumb links back to the hub landing', function () {
|
|
/** @var TestCase $this */
|
|
$this->get('https://pressekonto.test/de/impressum')
|
|
->assertSuccessful()
|
|
->assertSee('href="https://pressekonto.test"', false)
|
|
->assertSeeText('pressekonto');
|
|
});
|
|
|
|
test('static pages on the spoke domains keep the spoke shell', function () {
|
|
/** @var TestCase $this */
|
|
$response = $this->get('https://businessportal24.test/de/impressum')->assertSuccessful();
|
|
$content = $response->getContent();
|
|
|
|
expect($content)
|
|
->not->toContain('Publisher-Hub für')
|
|
->not->toContain('Vertrag widerrufen');
|
|
});
|