Ablehnungskategorien live aus der DB (rejection_categories)
/richtlinien rendert jetzt alle aktiven Kategorien aus der neuen rejection_categories-Tabelle (stabiler code als Anker, public_label/desc, optionale Beispiele) statt der statischen K1-K6-Liste. Kategorien werden nie geloescht, nur deaktiviert; neue Kategorien erscheinen ohne Textaenderung und ohne neue AGB-Version (AGB par. 7 Abs. 3 verweist nicht abschliessend). Seeder legt K1-K6 idempotent an; Versionszeile der Seite kommt aus legal_documents. Go-Live-Checkliste um beide Seeder ergaenzt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
196f83a377
commit
c54c6943b7
8 changed files with 213 additions and 18 deletions
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
use App\Models\RejectionCategory;
|
||||
use Database\Seeders\RejectionCategorySeeder;
|
||||
use Tests\TestCase;
|
||||
|
||||
dataset('static pages', [
|
||||
|
|
@ -75,12 +77,25 @@ test('the terms render the b2b version with cancellation and archive rules', fun
|
|||
|
||||
test('the guidelines list the rejection categories with anchors', function () {
|
||||
/** @var TestCase $this */
|
||||
// Kategorien kommen live aus rejection_categories (E3) — neue Zeilen
|
||||
// erscheinen ohne Textänderung, deaktivierte verschwinden.
|
||||
$this->seed(RejectionCategorySeeder::class);
|
||||
RejectionCategory::query()->where('code', 'K6')->update(['active' => false]);
|
||||
RejectionCategory::factory()->create([
|
||||
'code' => 'K7',
|
||||
'public_label' => 'Testkategorie aus der Datenbank',
|
||||
'sort_order' => 70,
|
||||
]);
|
||||
|
||||
$this->get('https://presseecho.test/de/richtlinien')
|
||||
->assertSuccessful()
|
||||
->assertSeeText('So funktioniert die Prüfung')
|
||||
->assertSeeText('Kein Pressecharakter / Spam')
|
||||
->assertSeeText('Rechtswidrige Inhalte')
|
||||
->assertSeeText('Testkategorie aus der Datenbank')
|
||||
->assertSee('id="K1"', false)
|
||||
->assertSee('id="K6"', false);
|
||||
->assertSee('id="K7"', false)
|
||||
// Deaktivierte Kategorien werden nicht mehr gerendert.
|
||||
->assertDontSeeText('Kein Pressecharakter / Spam');
|
||||
});
|
||||
|
||||
test('the reporting page separates free legal paths from the paid takedown service', function () {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue