File tree Expand file tree Collapse file tree 5 files changed +26
-7
lines changed
resources/views/livewire/users
tests/Feature/Livewire/Users Expand file tree Collapse file tree 5 files changed +26
-7
lines changed Original file line number Diff line number Diff line change 99.env
1010.env.backup
1111.env.production
12+ .env.testing
1213.phpactor.json
1314.phpunit.result.cache
1415Homestead.json
Original file line number Diff line number Diff line change 66use App \Models \User ;
77use Illuminate \Contracts \View \View ;
88use Illuminate \Validation \Rule ;
9+ use Livewire \Attributes \On ;
910use Livewire \Component ;
1011
1112class Update extends Component
1213{
1314 use Alert;
1415
15- public User $ user ;
16+ public ? User $ user ;
1617
1718 public ?string $ password = null ;
1819
@@ -25,6 +26,14 @@ public function render(): View
2526 return view ('livewire.users.update ' );
2627 }
2728
29+ #[On('load::user ' )]
30+ public function load (User $ user ): void
31+ {
32+ $ this ->user = $ user ;
33+
34+ $ this ->modal = true ;
35+ }
36+
2837 public function rules (): array
2938 {
3039 return [
Original file line number Diff line number Diff line change 1313 @endinteract
1414 @interact (' column_action' , $row )
1515 <div class =" flex gap-1" >
16- <livewire:users .update :user = " $row " :key = " uniqid() " @updated = " $refresh " />
16+ <x-button .circle icon = " pencil " wire:click = " $dispatch('load::user', { 'user' : ' {{ $row -> id } } '}) " />
1717 <livewire:users .delete :user =" $row" :key =" uniqid()" @deleted =" $refresh" />
1818 </div >
1919 @endinteract
2020 </x-table >
21+
22+ <livewire:users .update @updated =" $refresh" />
2123</div >
Original file line number Diff line number Diff line change 11<div >
2- <x-button .circle icon =" pencil" wire:click =" $toggle('modal')" />
3-
4- <x-modal :title =" __('Update User: #:id', ['id' => $user->id])" wire >
5- <form id =" user-update-{{ $user -> id } }" wire:submit =" save" class =" space-y-4" >
2+ <x-modal :title =" __('Update User: #:id', ['id' => $user?->id])" wire >
3+ <form id =" user-update-{{ $user ?-> id } }" wire:submit =" save" class =" space-y-4" >
64 <div >
75 <x-input label =" Name *" wire:model =" user.name" required />
86 </div >
2523 </div >
2624 </form >
2725 <x-slot:footer >
28- <x-button type =" submit" form =" user-update-{{ $user -> id } }" >
26+ <x-button type =" submit" form =" user-update-{{ $user ? -> id } }" >
2927 Save
3028 </x-button >
3129 </x-slot:footer >
Original file line number Diff line number Diff line change 2525 ->assertSet ('password_confirmation ' , null );
2626});
2727
28+ it ('load the correct use ' , function () {
29+ Livewire::test (Update::class)
30+ ->call ('load ' , $ this ->original )
31+ ->assertSet ('user.name ' , 'Original Name ' )
32+ ->
assertSet (
'user.email ' ,
'[email protected] ' )
33+ ->assertSet ('password ' , null )
34+ ->assertSet ('password_confirmation ' , null );
35+ });
36+
2837it ('updates user name and email ' , function () {
2938 Livewire::test (Update::class, ['user ' => $ this ->original ])
3039 ->set ('user.name ' , 'Updated Name ' )
You can’t perform that action at this time.
0 commit comments