livewire: Volt entfernt — Komponenten als Livewire-4-Single-File-Components, Route::livewire(), Livewire::test(); livewire/volt deinstalliert
- 83 Komponenten: Livewire\Volt\Component → Livewire\Component
- 73 Routen (admin, auth, customer): Volt::route() → Route::livewire()
- 88 Testdateien: Volt::test/actingAs → Livewire::test/actingAs
- VoltServiceProvider gelöscht; composer remove livewire/volt
- config/livewire.php auf v4-Schlüssel (component_layout, component_placeholder,
component_locations, make_command: SFC ohne ⚡). Der alte Schlüssel layout war
wirkungslos; alle gerouteten Komponenten setzen ihr Layout selbst.
- CLAUDE.md, AGENTS.md, boost.json, .cursorrules, Skill volt-development
- Roadmap: erledigt; Larastan erfasst SFCs weiterhin nicht (Blade-Dateien)
Suite 2.325 grün, einer übersprungen; Larastan und Pint ohne Meldung;
route:cache und view:cache laufen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
79bb6cf1d0
commit
31da9ea8b6
186 changed files with 889 additions and 1075 deletions
|
|
@ -15,7 +15,7 @@ use Illuminate\Support\Facades\Exceptions;
|
|||
use Illuminate\Support\Facades\Mail;
|
||||
use Laravel\Sanctum\Sanctum;
|
||||
use Livewire\Features\SupportLockedProperties\CannotUpdateLockedPropertyException;
|
||||
use Livewire\Volt\Volt as LivewireVolt;
|
||||
use Livewire\Livewire;
|
||||
use Tests\TestCase;
|
||||
|
||||
/**
|
||||
|
|
@ -57,7 +57,7 @@ test('with the gate off nothing is required and submitting works as before', fun
|
|||
|
||||
expect(app(LegalAcceptanceGate::class)->requiredFor($owner))->toBeEmpty();
|
||||
|
||||
LivewireVolt::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
Livewire::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
->assertDontSee('Neue Fassung unserer Bedingungen')
|
||||
->set('aiTextDeclaration', 'none')
|
||||
->set('aiDeclarationConfirmed', true)
|
||||
|
|
@ -76,7 +76,7 @@ test('with the gate on the submit requires an active acceptance of agb and guide
|
|||
|
||||
expect(app(LegalAcceptanceGate::class)->requiredFor($owner)->pluck('type')->all())->toBe(['agb', 'richtlinien']);
|
||||
|
||||
$component = LivewireVolt::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
$component = Livewire::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
->assertSee('Neue Fassung unserer Bedingungen')
|
||||
->assertSee('Version 0.6')
|
||||
->set('aiTextDeclaration', 'none')
|
||||
|
|
@ -106,7 +106,7 @@ test('a confirmation is bound to the versions that were shown, a newer version m
|
|||
['owner' => $owner, 'pr' => $pr] = legalGateDraft();
|
||||
$this->actingAs($owner);
|
||||
|
||||
$component = LivewireVolt::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
$component = Livewire::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
->assertSee('Version 0.6')
|
||||
->set('aiTextDeclaration', 'none')
|
||||
->set('aiDeclarationConfirmed', true)
|
||||
|
|
@ -195,7 +195,7 @@ test('the shown versions cannot be changed from the browser', function () {
|
|||
['owner' => $owner, 'pr' => $pr] = legalGateDraft();
|
||||
$this->actingAs($owner);
|
||||
|
||||
expect(fn () => LivewireVolt::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
expect(fn () => Livewire::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
->set('legalAcceptanceVersions', ['agb' => '9.9', 'richtlinien' => '9.9']))
|
||||
->toThrow(CannotUpdateLockedPropertyException::class);
|
||||
});
|
||||
|
|
@ -223,7 +223,7 @@ test('a version change between validation and saving is rejected instead of sile
|
|||
return $submitCalls === 1 ? $current : collect([$newer]);
|
||||
});
|
||||
|
||||
$component = LivewireVolt::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
$component = Livewire::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
->set('aiTextDeclaration', 'none')
|
||||
->set('aiDeclarationConfirmed', true)
|
||||
->set('legalAcceptanceConfirmed', true);
|
||||
|
|
@ -243,7 +243,7 @@ test('with the gate off rendering the submit pages asks nothing about legal docu
|
|||
$this->actingAs($owner);
|
||||
|
||||
DB::enableQueryLog();
|
||||
LivewireVolt::test('customer.press-releases.show', ['id' => $pr->id])->assertOk();
|
||||
Livewire::test('customer.press-releases.show', ['id' => $pr->id])->assertOk();
|
||||
|
||||
expect(collect(DB::getQueryLog())->filter(fn (array $query): bool => str_contains($query['query'], 'legal_document_acceptances')))->toBeEmpty();
|
||||
});
|
||||
|
|
@ -255,7 +255,7 @@ test('with the gate on a render asks once per request, not once per modal', func
|
|||
$this->actingAs($owner);
|
||||
|
||||
DB::enableQueryLog();
|
||||
LivewireVolt::test('customer.press-releases.index')->assertOk();
|
||||
Livewire::test('customer.press-releases.index')->assertOk();
|
||||
|
||||
// Eine Abfrage je Dokumenttyp (AGB, Richtlinien) — nicht zusätzlich je Modal.
|
||||
expect(collect(DB::getQueryLog())->filter(fn (array $query): bool => str_contains($query['query'], 'legal_document_acceptances')))->toHaveCount(2);
|
||||
|
|
@ -270,7 +270,7 @@ test('a missing required document fails the submit, not the rendering of the pag
|
|||
LegalDocument::query()->where('type', 'richtlinien')->delete();
|
||||
Exceptions::fake();
|
||||
|
||||
LivewireVolt::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
Livewire::test('customer.press-releases.show', ['id' => $pr->id])
|
||||
->assertOk()
|
||||
->set('aiTextDeclaration', 'none')
|
||||
->set('aiDeclarationConfirmed', true)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue