19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration

Umbenennung presseportale → pressekonto in Domains, Themes und Dokumentation.
Design-Tokens, Portal-Shell, Customer-Dashboard, Auth- und Admin-PM-Views.
Artisan-Befehl migrate:legacy-media mit Tests und Hub-Flux-Entwicklungsdocs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Kevin Adametz 2026-05-19 16:36:13 +00:00
parent 092ee0e918
commit 0a3e52d603
112 changed files with 8464 additions and 1649 deletions

View file

@ -23,7 +23,8 @@ test('businessportal24 homepage renders the editorial shell', function () {
->assertSeeText('Termine & Events')
->assertSeeText('Branchen-Index')
->assertSeeText('Heute im Fokus')
->assertSee('businessportal<span class="text-brand">24</span>', false)
->assertSee('businessportal', false)
->assertSee('>24<', false)
->assertDontSeeText('führende Plattform')
->assertDontSeeText('maximale Reichweite')
->assertDontSeeText('Exklusiv-Interview');

View file

@ -2,12 +2,12 @@
use Tests\TestCase;
test('presseportale hub homepage renders the publisher landing shell', function () {
test('pressekonto hub homepage renders the publisher landing shell', function () {
/** @var TestCase $this */
$this->get('https://presseportale.test/')
$this->get('https://pressekonto.test/')
->assertSuccessful()
->assertSee('presse', false)
->assertSee('portale', false)
->assertSee('konto', false)
->assertSeeText('Publisher-Hub')
->assertSeeText('Ein Konto.')
->assertSeeText('Was Sie hier können')
@ -18,57 +18,57 @@ test('presseportale hub homepage renders the publisher landing shell', function
->assertSeeText('Standard')
->assertSeeText('Pro')
->assertSeeText('Enterprise')
->assertSeeText('Hinter presseportale')
->assertSeeText('Hinter pressekonto')
->assertSeeText('Plattform im Überblick')
->assertSeeText('Häufige Fragen')
->assertSeeText('Loslegen')
->assertSeeText('Alle Systeme betriebsbereit');
});
test('presseportale hub homepage uses the brand-mark splitting without TLDs', function () {
test('pressekonto hub homepage uses the brand-mark splitting without TLDs', function () {
/** @var TestCase $this */
$response = $this->get('https://presseportale.test/');
$response = $this->get('https://pressekonto.test/');
$content = $response->getContent();
$response->assertSuccessful();
// Markennamen erscheinen ausschliesslich gesplittet (presse|echo, businessportal|24, presse|portale).
// Markennamen erscheinen ausschliesslich gesplittet (presse|echo, businessportal|24, presse|konto).
expect($content)
->not->toContain('presseecho.de')
->not->toContain('businessportal24.com')
->toContain('businessportal')
->toContain('>24<')
->toContain('>echo<')
->toContain('>portale<');
->toContain('>konto<');
// presseportale darf ausschliesslich in der Vertriebs-Mailto-Adresse als Domain auftauchen,
// pressekonto darf ausschliesslich in der Vertriebs-Mailto-Adresse als Domain auftauchen,
// niemals als Marken-Schreibweise im Lese-Text.
expect(substr_count($content, 'presseportale.com'))
->toBe(substr_count($content, 'vertrieb@presseportale.com'));
expect(substr_count($content, 'pressekonto.de'))
->toBe(substr_count($content, 'vertrieb@pressekonto.de'));
});
test('presseportale hub homepage loads the hub theme assets, not portal admin', function () {
test('pressekonto hub homepage loads the hub theme assets, not portal admin', function () {
/** @var TestCase $this */
$response = $this->get('https://presseportale.test/');
$response = $this->get('https://pressekonto.test/');
$response
->assertSuccessful()
->assertSee('theme-presseportale', false)
->assertSee('theme-pressekonto', false)
->assertDontSee('theme-businessportal24', false)
->assertDontSee('theme-presseecho', false);
});
test('presseportale hub homepage hides the brand-context banner without a from parameter', function () {
test('pressekonto hub homepage hides the brand-context banner without a from parameter', function () {
/** @var TestCase $this */
$this->get('https://presseportale.test/')
$this->get('https://pressekonto.test/')
->assertSuccessful()
->assertDontSeeText('Sie kommen von');
});
test('presseportale hub homepage shows the brand-context banner when arriving from presseecho', function () {
test('pressekonto hub homepage shows the brand-context banner when arriving from presseecho', function () {
/** @var TestCase $this */
$response = $this->get('https://presseportale.test/?from=presseecho')
$response = $this->get('https://pressekonto.test/?from=presseecho')
->assertSuccessful()
->assertSeeText('Sie kommen von')
->assertSeeText('Zurück zu');
@ -77,9 +77,9 @@ test('presseportale hub homepage shows the brand-context banner when arriving fr
$response->assertDontSee('presseecho.de', false);
});
test('presseportale hub homepage shows the brand-context banner when arriving from businessportal24', function () {
test('pressekonto hub homepage shows the brand-context banner when arriving from businessportal24', function () {
/** @var TestCase $this */
$response = $this->get('https://presseportale.test/?from=businessportal24')
$response = $this->get('https://pressekonto.test/?from=businessportal24')
->assertSuccessful()
->assertSeeText('Sie kommen von')
->assertSeeText('Zurück zu');