Skip to content

Commit 3e6390c

Browse files
edited routes name,
edited AuthController, Created Auth end point tests
1 parent c8adc2d commit 3e6390c

File tree

3 files changed

+32
-23
lines changed

3 files changed

+32
-23
lines changed

app/Http/Controllers/Auth/AuthController.php

+8
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,12 @@ public function register(Request $request)
6060
$user = $this->userService->create($request->all());
6161
return $this->response->item($request->user(), new UserTransformer());
6262
}
63+
64+
65+
public function invalidate()
66+
{
67+
$token = $this->authService->parseToken();
68+
$token->invalidate();
69+
return $this->success();
70+
}
6371
}

routes/api.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@
3939
$router->group(['prefix' => 'auth'], function (Router $router) {
4040
$router->post('login', 'Auth\AuthController@login');
4141
$router->patch('refresh', 'Auth\AuthController@refreshToken');
42-
$router->delete('invalidate', 'Auth\AuthController@deleteInvalidate');
42+
$router->delete('invalidate', 'Auth\AuthController@invalidate');
4343
$router->post('register', 'Auth\AuthController@register');
4444

45-
$router->group(['middleware' => ['api.auth']], function (Router $router) {
45+
$router->group(['middleware' => ['api.auth', 'role:root']], function (Router $router) {
4646
$router->get('user', 'Auth\AuthController@getUser');
4747
});
4848
});

tests/Feature/AuthTest.php

+22-21
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,43 @@ class AuthTest extends TestCase
1212
public function testLoginLogout()
1313
{
1414
$user = factory(User::class)->create();
15-
// $user->attachRole('root');
15+
$user->attachRole('root');
1616
$user->save();
17-
18-
$response = $this->post('/api/auth/login',[
19-
'email' => $user->email,
20-
'password' => 'secret'
17+
// Login
18+
$response = $this->post('/api/auth/login', [
19+
'email' => $user->email,
20+
'password' => 'secret'
2121
]);
22-
$response->assertStatus(200);
2322

23+
$response->assertStatus(200);
2424
$token = json_decode($response->getContent(), true)['data']['token'];
25-
25+
// Get the token. Query self.
2626
$this->refreshApplication();
27-
28-
$selfQueryResponse = $this->get('/api/auth/user',[
29-
'Authorization' => 'Bearer '.$token,
27+
$selfQueryResponse = $this->get('/api/auth/user', [
28+
'Authorization' => 'Bearer ' . $token,
3029
]);
3130
$selfQueryResponse->assertStatus(200);
3231

33-
$tokenRefreshResponse = $this->patch('/api/auth/refresh',[
32+
// Refresh token
33+
$this->refreshApplication();
34+
$tokenRefreshResponse = $this->patch('/api/auth/refresh', [
3435
//
35-
],[
36-
'Authorization' => 'Bearer '.$token,
36+
], [
37+
'Authorization' => 'Bearer ' . $token,
3738
]);
3839

3940
$tokenRefreshResponse->assertStatus(200);
4041
$this->refreshApplication();
4142

42-
$logout = $this->delete('/api/auth/invalidate',[
43-
'Authorization' => 'Bearer '.$token,
43+
// Logout
44+
$logoutResponse = $this->delete('/api/auth/invalidate', [], [
45+
'Authorization' => 'Bearer ' . $token,
4446
]);
45-
$logout->assertStatus(200);
46-
$this->refreshApplication();
47+
$logoutResponse->assertStatus(200);
4748

48-
$loggedoutTestQuery = $this->get('/api/auth/users', [
49-
'Authorization' => 'Bearer '.$token,
50-
]);
51-
$loggedoutTestQuery->assertStatus(401);
49+
// Now you cannot query yourself
50+
$this->refreshApplication();
51+
$loggedOutTestQuery = $this->get('/api/auth/user');
52+
$loggedOutTestQuery->assertStatus(401);
5253
}
5354
}

0 commit comments

Comments
 (0)