22
33namespace Laravel \Passport \Tests ;
44
5- use Laravel \Passport \Client ;
6- use Laravel \Passport \Http \Controllers \ClientController ;
75use Mockery as m ;
86use Illuminate \Http \Request ;
7+ use Laravel \Passport \Client ;
98use PHPUnit \Framework \TestCase ;
9+ use Laravel \Passport \Http \Rules \RedirectRule ;
10+ use Laravel \Passport \Http \Controllers \ClientController ;
1011
1112class ClientControllerTest extends TestCase
1213{
@@ -25,7 +26,9 @@ public function test_all_the_clients_for_the_current_user_can_be_retrieved()
2526 $ request ->shouldReceive ('user ' )->andReturn (new ClientControllerFakeUser );
2627
2728 $ controller = new ClientController (
28- $ clients , m::mock ('Illuminate\Contracts\Validation\Factory ' )
29+ $ clients ,
30+ m::mock ('Illuminate\Contracts\Validation\Factory ' ),
31+ m::mock (RedirectRule::class)
2932 );
3033
3134 $ this ->assertEquals ($ client , $ controller ->forUser ($ request ));
@@ -45,17 +48,21 @@ public function test_clients_can_be_stored()
4548 ->with (1 , 'client name ' , 'http://localhost ' )
4649 ->andReturn ($ client = new Client );
4750
51+ $ redirectRule = m::mock (RedirectRule::class);
52+
4853 $ validator = m::mock ('Illuminate\Contracts\Validation\Factory ' );
4954 $ validator ->shouldReceive ('make ' )->once ()->with ([
5055 'name ' => 'client name ' ,
5156 'redirect ' => 'http://localhost ' ,
5257 ], [
5358 'name ' => 'required|max:255 ' ,
54- 'redirect ' => 'required|url ' ,
59+ 'redirect ' => [ 'required ' , $ redirectRule ] ,
5560 ])->andReturn ($ validator );
5661 $ validator ->shouldReceive ('validate ' )->once ();
5762
58- $ controller = new ClientController ($ clients , $ validator );
63+ $ controller = new ClientController (
64+ $ clients , $ validator , $ redirectRule
65+ );
5966
6067 $ this ->assertEquals ($ client , $ controller ->store ($ request ));
6168 }
@@ -79,17 +86,21 @@ public function test_clients_can_be_updated()
7986 m::type ('Laravel\Passport\Client ' ), 'client name ' , 'http://localhost '
8087 )->andReturn ('response ' );
8188
89+ $ redirectRule = m::mock (RedirectRule::class);
90+
8291 $ validator = m::mock ('Illuminate\Contracts\Validation\Factory ' );
8392 $ validator ->shouldReceive ('make ' )->once ()->with ([
8493 'name ' => 'client name ' ,
8594 'redirect ' => 'http://localhost ' ,
8695 ], [
8796 'name ' => 'required|max:255 ' ,
88- 'redirect ' => 'required|url ' ,
97+ 'redirect ' => [ 'required ' , $ redirectRule ] ,
8998 ])->andReturn ($ validator );
9099 $ validator ->shouldReceive ('validate ' )->once ();
91100
92- $ controller = new ClientController ($ clients , $ validator );
101+ $ controller = new ClientController (
102+ $ clients , $ validator , $ redirectRule
103+ );
93104
94105 $ this ->assertEquals ('response ' , $ controller ->update ($ request , 1 ));
95106 }
@@ -112,7 +123,9 @@ public function test_404_response_if_client_doesnt_belong_to_user()
112123
113124 $ validator = m::mock ('Illuminate\Contracts\Validation\Factory ' );
114125
115- $ controller = new ClientController ($ clients , $ validator );
126+ $ controller = new ClientController (
127+ $ clients , $ validator , m::mock (RedirectRule::class)
128+ );
116129
117130 $ this ->assertEquals (404 , $ controller ->update ($ request , 1 )->status ());
118131 }
@@ -138,7 +151,9 @@ public function test_clients_can_be_deleted()
138151
139152 $ validator = m::mock ('Illuminate\Contracts\Validation\Factory ' );
140153
141- $ controller = new ClientController ($ clients , $ validator );
154+ $ controller = new ClientController (
155+ $ clients , $ validator , m::mock (RedirectRule::class)
156+ );
142157
143158 $ controller ->destroy ($ request , 1 );
144159 }
@@ -161,7 +176,9 @@ public function test_404_response_if_client_doesnt_belong_to_user_on_delete()
161176
162177 $ validator = m::mock ('Illuminate\Contracts\Validation\Factory ' );
163178
164- $ controller = new ClientController ($ clients , $ validator );
179+ $ controller = new ClientController (
180+ $ clients , $ validator , m::mock (RedirectRule::class)
181+ );
165182
166183 $ this ->assertEquals (404 , $ controller ->destroy ($ request , 1 )->status ());
167184 }
0 commit comments