fix: update password field binding in config modal and add test for saving password values

This commit is contained in:
Benjamin Nussbaum 2026-01-23 19:54:10 +01:00
parent ffd1cf0d7e
commit f42dc03247
2 changed files with 28 additions and 1 deletions

View file

@ -240,7 +240,7 @@ new class extends Component
<flux:description>{!! $safeDescription !!}</flux:description> <flux:description>{!! $safeDescription !!}</flux:description>
<flux:input <flux:input
type="password" type="password"
wire:model="local_configuration.{{ $fieldKey }}" wire:model="configuration.{{ $fieldKey }}"
value="{{ $currentValue }}" value="{{ $currentValue }}"
viewable viewable
/> />

View file

@ -121,3 +121,30 @@ test('config modal dispatches update event for parent warning refresh', function
->call('saveConfiguration') ->call('saveConfiguration')
->assertDispatched('config-updated'); ->assertDispatched('config-updated');
}); });
test('config modal saves password field values correctly', function (): void {
$user = User::factory()->create();
$this->actingAs($user);
$plugin = Plugin::create([
'uuid' => Str::uuid(),
'user_id' => $user->id,
'name' => 'Test Plugin',
'data_strategy' => 'static',
'configuration_template' => [
'custom_fields' => [[
'keyname' => 'api_key',
'field_type' => 'password',
'name' => 'API Key',
]],
],
'configuration' => [],
]);
Livewire::test('plugins.config-modal', ['plugin' => $plugin])
->set('configuration.api_key', 'my-secret-password-123')
->call('saveConfiguration')
->assertHasNoErrors();
expect($plugin->fresh()->configuration['api_key'])->toBe('my-secret-password-123');
});