forked from laravel/passport
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClientControllerTest.php
73 lines (57 loc) · 2.25 KB
/
ClientControllerTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
namespace Laravel\Passport\Tests\Feature;
use Illuminate\Contracts\Hashing\Hasher;
use Orchestra\Testbench\Concerns\WithLaravelMigrations;
use Workbench\Database\Factories\UserFactory;
class ClientControllerTest extends PassportTestCase
{
use WithLaravelMigrations;
public function testCreatingClient()
{
$user = UserFactory::new()->create([
'email' => '[email protected]',
'password' => $this->app->make(Hasher::class)->make('foobar123'),
]);
$this->actingAs($user);
$response = $this->post(
'/oauth/clients',
[
'name' => 'new client',
'redirect_uris' => ['https://localhost'],
]
);
$response->assertSuccessful();
$decodedResponse = $response->json();
$this->assertEquals(1, $decodedResponse['user_id']);
$this->assertEquals('new client', $decodedResponse['name']);
$this->assertEquals(['https://localhost'], $decodedResponse['redirect_uris']);
$this->assertArrayHasKey('secret', $decodedResponse);
$this->assertArrayHasKey('provider', $decodedResponse);
$this->assertArrayHasKey('revoked', $decodedResponse);
}
public function testUpdatingClient()
{
$user = UserFactory::new()->create([
'email' => '[email protected]',
'password' => $this->app->make(Hasher::class)->make('foobar123'),
]);
$this->actingAs($user);
$client = $this->post('/oauth/clients', [
'name' => 'new client', 'redirect_uris' => ['https://localhost'],
])->json();
$response = $this->put(
'/oauth/clients/'.$client['id'],
[
'name' => 'updated client',
'redirect_uris' => ['https://localhost'],
]
);
$response->assertSuccessful();
$decodedResponse = $response->json();
$this->assertEquals(1, $decodedResponse['user_id']);
$this->assertEquals('updated client', $decodedResponse['name']);
$this->assertEquals(['https://localhost'], $decodedResponse['redirect_uris']);
$this->assertArrayHasKey('provider', $decodedResponse);
$this->assertArrayHasKey('revoked', $decodedResponse);
}
}