1+ <?php
2+
3+ namespace Tests \Feature ;
4+
5+ use App \User ;
6+ use Illuminate \Foundation \Testing \RefreshDatabase ;
7+ use Tests \TestCase ;
8+
9+ class UserEditTest extends TestCase
10+ {
11+ use RefreshDatabase;
12+
13+ public function test_user_edit_page_loads_successfully (): void
14+ {
15+ $ this ->seed ();
16+
17+ $ user = User::factory ()->create ();
18+
19+ $ response = $ this ->get (route ('users.edit ' , $ user ->id ));
20+
21+ $ response ->assertStatus (200 );
22+ $ response ->assertSee ($ user ->username ); // Verify username is displayed
23+ $ response ->assertSee (__ ('app.user.email ' )); // Verify email field is present
24+ }
25+
26+ public function test_user_can_be_updated (): void
27+ {
28+ $ this ->seed ();
29+
30+ $ user = User::factory ()->create ([
31+ 'username ' => 'oldusername ' ,
32+ 'email ' => 'oldemail@example.com ' ,
33+ ]);
34+
35+ $ data = [
36+ 'username ' => 'newusername ' ,
37+ 'email ' => 'newemail@example.com ' ,
38+ 'password ' => 'newpassword ' ,
39+ 'password_confirmation ' => 'newpassword ' ,
40+ 'public_front ' => 1 , // Include public_front in the test data
41+ ];
42+
43+ $ response = $ this ->patch (route ('users.update ' , $ user ->id ), $ data );
44+
45+ $ response ->assertRedirect (route ('dash ' ));
46+ $ this ->assertDatabaseHas ('users ' , [
47+ 'id ' => $ user ->id ,
48+ 'username ' => 'newusername ' ,
49+ 'email ' => 'newemail@example.com ' ,
50+ ]);
51+ }
52+ }
0 commit comments