refactor: upgrade to Livewire 4

This commit is contained in:
Benjamin Nussbaum 2026-01-14 23:59:00 +01:00
parent c94dd89361
commit a15645ad88
56 changed files with 166 additions and 278 deletions

View file

@ -3,7 +3,6 @@
use App\Models\Plugin;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Livewire\Volt\Volt;
use Illuminate\Support\Str;
uses(RefreshDatabase::class);
@ -28,7 +27,7 @@ test('config modal correctly loads multi_string defaults into UI boxes', functio
'configuration' => ['tags' => 'alpha,beta']
]);
Volt::test('plugins.config-modal', ['plugin' => $plugin])
Livewire::test('plugins.config-modal', ['plugin' => $plugin])
->assertSet('multiValues.tags', ['alpha', 'beta']);
});
@ -50,7 +49,7 @@ test('config modal validates against commas in multi_string boxes', function ():
]
]);
Volt::test('plugins.config-modal', ['plugin' => $plugin])
Livewire::test('plugins.config-modal', ['plugin' => $plugin])
->set('multiValues.tags.0', 'no,commas,allowed')
->call('saveConfiguration')
->assertHasErrors(['multiValues.tags.0' => 'regex']);
@ -78,7 +77,7 @@ test('config modal merges multi_string boxes into a single CSV string on save',
'configuration' => []
]);
Volt::test('plugins.config-modal', ['plugin' => $plugin])
Livewire::test('plugins.config-modal', ['plugin' => $plugin])
->set('multiValues.items.0', 'First')
->call('addMultiItem', 'items')
->set('multiValues.items.1', 'Second')
@ -100,7 +99,7 @@ test('config modal resetForm clears dirty state and increments resetIndex', func
'configuration' => ['simple_key' => 'original_value']
]);
Volt::test('plugins.config-modal', ['plugin' => $plugin])
Livewire::test('plugins.config-modal', ['plugin' => $plugin])
->set('configuration.simple_key', 'dirty_value')
->call('resetForm')
->assertSet('configuration.simple_key', 'original_value')
@ -118,7 +117,7 @@ test('config modal dispatches update event for parent warning refresh', function
'data_strategy' => 'static'
]);
Volt::test('plugins.config-modal', ['plugin' => $plugin])
Livewire::test('plugins.config-modal', ['plugin' => $plugin])
->call('saveConfiguration')
->assertDispatched('config-updated');
});

View file

@ -6,7 +6,6 @@ use App\Models\Plugin;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Str;
use Livewire\Volt\Volt;
uses(RefreshDatabase::class);
@ -21,7 +20,7 @@ test('recipe settings can save trmnlp_id', function (): void {
$trmnlpId = (string) Str::uuid();
Volt::test('plugins.recipes.settings', ['plugin' => $plugin])
Livewire::test('plugins.recipes.settings', ['plugin' => $plugin])
->set('trmnlp_id', $trmnlpId)
->call('saveTrmnlpId')
->assertHasNoErrors();
@ -43,7 +42,7 @@ test('recipe settings validates trmnlp_id is unique per user', function (): void
'trmnlp_id' => null,
]);
Volt::test('plugins.recipes.settings', ['plugin' => $newPlugin])
Livewire::test('plugins.recipes.settings', ['plugin' => $newPlugin])
->set('trmnlp_id', 'existing-id-123')
->call('saveTrmnlpId')
->assertHasErrors(['trmnlp_id' => 'unique']);
@ -67,7 +66,7 @@ test('recipe settings allows same trmnlp_id for different users', function (): v
$this->actingAs($user2);
Volt::test('plugins.recipes.settings', ['plugin' => $plugin2])
Livewire::test('plugins.recipes.settings', ['plugin' => $plugin2])
->set('trmnlp_id', 'shared-id-123')
->call('saveTrmnlpId')
->assertHasNoErrors();
@ -86,7 +85,7 @@ test('recipe settings allows same trmnlp_id for the same plugin', function (): v
'trmnlp_id' => $trmnlpId,
]);
Volt::test('plugins.recipes.settings', ['plugin' => $plugin])
Livewire::test('plugins.recipes.settings', ['plugin' => $plugin])
->set('trmnlp_id', $trmnlpId)
->call('saveTrmnlpId')
->assertHasNoErrors();
@ -103,7 +102,7 @@ test('recipe settings can clear trmnlp_id', function (): void {
'trmnlp_id' => 'some-id',
]);
Volt::test('plugins.recipes.settings', ['plugin' => $plugin])
Livewire::test('plugins.recipes.settings', ['plugin' => $plugin])
->set('trmnlp_id', '')
->call('saveTrmnlpId')
->assertHasNoErrors();