3
3
namespace Laravel \Ui \Tests \AuthBackend ;
4
4
5
5
use Illuminate \Auth \Events \Attempting ;
6
+ use Illuminate \Auth \Events \Logout ;
6
7
use Illuminate \Foundation \Auth \AuthenticatesUsers ;
8
+ use Illuminate \Foundation \Testing \RefreshDatabase ;
7
9
use Illuminate \Http \Request ;
8
10
use Illuminate \Routing \Pipeline ;
9
11
use Illuminate \Support \Facades \Auth ;
10
12
use Illuminate \Support \Facades \Event ;
11
13
use Illuminate \Testing \TestResponse ;
12
14
use Illuminate \Validation \ValidationException ;
15
+ use Orchestra \Testbench \Attributes \WithMigration ;
13
16
use Orchestra \Testbench \Factories \UserFactory ;
14
17
use Orchestra \Testbench \TestCase ;
15
18
use PHPUnit \Framework \Attributes \Test ;
16
19
20
+ #[WithMigration]
17
21
class AuthenticatesUsersTest extends TestCase
18
22
{
19
- use AuthenticatesUsers;
23
+ use AuthenticatesUsers, RefreshDatabase ;
20
24
21
25
protected function tearDown (): void
22
26
{
@@ -25,16 +29,6 @@ protected function tearDown(): void
25
29
parent ::tearDown ();
26
30
}
27
31
28
- /**
29
- * Define database migrations.
30
- *
31
- * @return void
32
- */
33
- protected function defineDatabaseMigrations ()
34
- {
35
- $ this ->loadLaravelMigrations ();
36
- }
37
-
38
32
#[Test]
39
33
public function it_can_authenticate_a_user ()
40
34
{
@@ -58,6 +52,26 @@ public function it_can_authenticate_a_user()
58
52
});
59
53
}
60
54
55
+ #[Test]
56
+ public function it_can_deauthenticate_a_user ()
57
+ {
58
+ Event::fake ();
59
+
60
+ $ user = UserFactory::new ()->create ();
61
+
62
+ $ this ->actingAs ($ user );
63
+
64
+ $ request = Request::create ('/logout ' , 'POST ' , [], [], [], [
65
+ 'HTTP_ACCEPT ' => 'application/json ' ,
66
+ ]);
67
+
68
+ $ response = $ this ->handleRequestUsing (
69
+ $ request , fn ($ request ) => $ this ->logout ($ request )
70
+ )->assertStatus (204 );
71
+
72
+ Event::assertDispatched (fn (Logout $ event ) => $ user ->is ($ event ->user ));
73
+ }
74
+
61
75
#[Test]
62
76
public function it_can_authenticate_a_user_with_remember_as_false ()
63
77
{
0 commit comments