Skip to content

Commit 65ec5c0

Browse files
authored
Fixes AuthenticatesUsers always force remember me (#227)
Signed-off-by: Mior Muhammad Zaki <crynobone@gmail.com>
1 parent a76cf22 commit 65ec5c0

File tree

2 files changed

+59
-1
lines changed

2 files changed

+59
-1
lines changed

auth-backend/AuthenticatesUsers.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ protected function validateLogin(Request $request)
8484
protected function attemptLogin(Request $request)
8585
{
8686
return $this->guard()->attempt(
87-
$this->credentials($request), $request->filled('remember')
87+
$this->credentials($request), $request->boolean('remember')
8888
);
8989
}
9090

tests/AuthBackend/AuthenticatesUsersTest.php

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
namespace Laravel\Ui\Tests\AuthBackend;
44

5+
use Illuminate\Auth\Events\Attempting;
56
use Illuminate\Foundation\Auth\AuthenticatesUsers;
67
use Illuminate\Http\Request;
78
use Illuminate\Routing\Pipeline;
89
use Illuminate\Support\Facades\Auth;
10+
use Illuminate\Support\Facades\Event;
911
use Illuminate\Testing\TestResponse;
1012
use Illuminate\Validation\ValidationException;
1113
use Orchestra\Testbench\Factories\UserFactory;
@@ -35,18 +37,74 @@ protected function defineDatabaseMigrations()
3537
/** @test */
3638
public function it_can_authenticate_a_user()
3739
{
40+
Event::fake();
41+
42+
$user = UserFactory::new()->create();
43+
44+
$request = Request::create('/login', 'POST', [
45+
'email' => $user->email,
46+
'password' => 'password',
47+
], [], [], [
48+
'HTTP_ACCEPT' => 'application/json',
49+
]);
50+
51+
$response = $this->handleRequestUsing($request, function ($request) {
52+
return $this->login($request);
53+
})->assertStatus(204);
54+
55+
Event::assertDispatched(function (Attempting $event) {
56+
return $event->remember === false;
57+
});
58+
}
59+
60+
/** @test */
61+
public function it_can_authenticate_a_user_with_remember_as_false()
62+
{
63+
Event::fake();
64+
65+
$user = UserFactory::new()->create();
66+
67+
$request = Request::create('/login', 'POST', [
68+
'email' => $user->email,
69+
'password' => 'password',
70+
'remember' => false,
71+
], [], [], [
72+
'HTTP_ACCEPT' => 'application/json',
73+
]);
74+
75+
$response = $this->handleRequestUsing($request, function ($request) {
76+
return $this->login($request);
77+
})->assertStatus(204);
78+
79+
Event::assertDispatched(function (Attempting $event) {
80+
return $event->remember === false;
81+
});
82+
}
83+
84+
85+
86+
/** @test */
87+
public function it_can_authenticate_a_user_with_remember_as_true()
88+
{
89+
Event::fake();
90+
3891
$user = UserFactory::new()->create();
3992

4093
$request = Request::create('/login', 'POST', [
4194
'email' => $user->email,
4295
'password' => 'password',
96+
'remember' => true,
4397
], [], [], [
4498
'HTTP_ACCEPT' => 'application/json',
4599
]);
46100

47101
$response = $this->handleRequestUsing($request, function ($request) {
48102
return $this->login($request);
49103
})->assertStatus(204);
104+
105+
Event::assertDispatched(function (Attempting $event) {
106+
return $event->remember === true;
107+
});
50108
}
51109

52110
/** @test */

0 commit comments

Comments
 (0)