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>
This commit is contained in:
parent
73fc3827c8
commit
0645d1d855
6 changed files with 55 additions and 25 deletions
|
|
@ -4,9 +4,11 @@ use App\Mail\ContactRequestSubmitted;
|
|||
use Illuminate\Support\Facades\Mail;
|
||||
use Tests\TestCase;
|
||||
|
||||
test('the contact page renders the form', function () {
|
||||
test('the hub landing renders the contact modal form', function () {
|
||||
/** @var TestCase $this */
|
||||
$this->get('https://businessportal24.test/de/kontakt')
|
||||
// Die frühere Kontakt-Seite wurde zurückgebaut; das Formular lebt im
|
||||
// Kontakt-Modal des Hubs und postet weiter auf kontakt.store.
|
||||
$this->get('https://pressekonto.test/')
|
||||
->assertSuccessful()
|
||||
->assertSee('name="name"', false)
|
||||
->assertSee('name="email"', false)
|
||||
|
|
@ -19,13 +21,13 @@ test('a valid contact request sends a mail to the configured recipient', functio
|
|||
Mail::fake();
|
||||
config()->set('domains.domains.businessportal24.brand.contact_email', 'redaktion@businessportal24.de');
|
||||
|
||||
$this->from('https://businessportal24.test/de/kontakt')
|
||||
$this->from('https://businessportal24.test/de')
|
||||
->post('https://businessportal24.test/de/kontakt', [
|
||||
'name' => 'Paula Presse',
|
||||
'email' => 'paula@example.test',
|
||||
'message' => 'Ich habe eine Frage zu Ihrer Plattform und bitte um Rückruf.',
|
||||
])
|
||||
->assertRedirect('https://businessportal24.test/de/kontakt')
|
||||
->assertRedirect('https://businessportal24.test/de')
|
||||
->assertSessionHas('contact-status');
|
||||
|
||||
Mail::assertSent(ContactRequestSubmitted::class, function (ContactRequestSubmitted $mail) {
|
||||
|
|
|
|||
|
|
@ -19,12 +19,24 @@ test('legacy static slugs of the old site redirect to the new german paths', fun
|
|||
})->with([
|
||||
'pricelist -> preise' => ['pricelist.html', 'preise'],
|
||||
'service -> veroeffentlichen' => ['service.html', 'veroeffentlichen'],
|
||||
'contact -> kontakt' => ['contact.html', 'kontakt'],
|
||||
'imprint -> impressum' => ['imprint.html', 'impressum'],
|
||||
'terms -> agb' => ['terms.html', 'agb'],
|
||||
'privacypolicy -> datenschutz' => ['privacypolicy.html', 'datenschutz'],
|
||||
]);
|
||||
|
||||
test('retired static pages redirect to the edition home', function (string $legacy) {
|
||||
/** @var TestCase $this */
|
||||
// kontakt/ueber-uns wurden zurückgebaut (Platzhalter-Inhalte); die
|
||||
// Alt-Slugs landen wie team/partner/karriere auf der Startseite.
|
||||
$this->get('https://businessportal24.test/de/'.$legacy)
|
||||
->assertStatus(301)
|
||||
->assertRedirect('https://businessportal24.test/de');
|
||||
})->with([
|
||||
'contact' => ['contact.html'],
|
||||
'kontakt' => ['kontakt.html'],
|
||||
'ueber-uns' => ['ueber-uns.html'],
|
||||
]);
|
||||
|
||||
test('legacy account urls redirect to the publisher hub', function (string $legacy, string $hubPath) {
|
||||
/** @var TestCase $this */
|
||||
$hubUrl = rtrim((string) config('domains.domain_portal_url'), '/');
|
||||
|
|
@ -104,9 +116,9 @@ test('dropped language/region variants redirect to the default edition', functio
|
|||
|
||||
test('legacy aliases also work without an edition prefix', function () {
|
||||
/** @var TestCase $this */
|
||||
$this->get('https://businessportal24.test/contact.html')
|
||||
$this->get('https://businessportal24.test/terms.html')
|
||||
->assertStatus(301)
|
||||
->assertRedirect('https://businessportal24.test/de/kontakt');
|
||||
->assertRedirect('https://businessportal24.test/de/agb');
|
||||
|
||||
$this->get('https://businessportal24.test/imprint.html')
|
||||
->assertStatus(301)
|
||||
|
|
|
|||
|
|
@ -9,9 +9,7 @@ dataset('static pages', [
|
|||
'cookies' => ['de/cookies', 'Cookie-Richtlinien'],
|
||||
'faq' => ['de/faq', 'Häufig gestellte Fragen'],
|
||||
'hilfe' => ['de/hilfe', 'Hilfe-Center'],
|
||||
'kontakt' => ['de/kontakt', 'Kontakt'],
|
||||
'ueber-uns' => ['de/ueber-uns', 'Über uns'],
|
||||
'api' => ['de/api', 'API & Integrationen'],
|
||||
'api' => ['de/api', 'API-Dokumentation'],
|
||||
]);
|
||||
|
||||
test('static pages render in the editorial design', function (string $path, string $heading) {
|
||||
|
|
@ -32,9 +30,19 @@ test('the faq page lists questions and links to support', function () {
|
|||
->assertSuccessful()
|
||||
->assertSeeText('Wie veröffentliche ich meine erste Pressemitteilung?')
|
||||
->assertSeeText('Frage nicht gefunden?')
|
||||
->assertSee(route('kontakt'), false);
|
||||
// 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')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue