5
5
use Illuminate \Routing \Route ;
6
6
use Knuckles \Scribe \Extracting \Strategies \Responses \UseApiResourceTags ;
7
7
use Knuckles \Scribe \ScribeServiceProvider ;
8
+ use Knuckles \Scribe \Tests \Fixtures \TestController ;
8
9
use Knuckles \Scribe \Tests \Fixtures \TestUser ;
9
10
use Knuckles \Scribe \Tools \DocumentationConfig ;
10
11
use Knuckles \Scribe \Tools \Utils ;
11
- use Mockery ;
12
12
use Mpociot \Reflection \DocBlock \Tag ;
13
13
use DMS \PHPUnitExtensions \ArraySubset \ArraySubsetAsserts ;
14
14
use Orchestra \Testbench \TestCase ;
@@ -53,11 +53,7 @@ public function can_parse_apiresource_tags()
53
53
{
54
54
$ config = new DocumentationConfig ([]);
55
55
56
- $ route = Mockery::mock (Route::class);
57
- $ route ->shouldReceive ('named ' )
58
- ->once ()
59
- ->with ('test ' )
60
- ->andReturn (true );
56
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
61
57
62
58
$ strategy = new UseApiResourceTags ($ config );
63
59
$ tags = [
@@ -74,7 +70,33 @@ public function can_parse_apiresource_tags()
74
70
'id ' => 4 ,
75
71
'name ' => 'Tested Again ' ,
76
72
'email ' => 'a@b.com ' ,
77
- 'test ' => true
73
+ ],
74
+ ]),
75
+ ],
76
+ ], $ results );
77
+ }
78
+
79
+ /** @test */
80
+ public function properly_binds_route_and_request_when_fetching_apiresource_response ()
81
+ {
82
+ $ config = new DocumentationConfig ([]);
83
+
84
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
85
+ $ route ->name ('someone ' );
86
+
87
+ $ strategy = new UseApiResourceTags ($ config );
88
+ $ tags = [
89
+ new Tag ('apiResource ' , '\Knuckles\Scribe\Tests\Fixtures\TestUserApiResource ' ),
90
+ new Tag ('apiResourceModel ' , '\Knuckles\Scribe\Tests\Fixtures\TestUser ' ),
91
+ ];
92
+ $ results = $ strategy ->getApiResourceResponse ($ tags , $ route );
93
+
94
+ $ this ->assertArraySubset ([
95
+ [
96
+ 'status ' => 200 ,
97
+ 'content ' => json_encode ([
98
+ 'data ' => [
99
+ 'someone ' => true ,
78
100
],
79
101
]),
80
102
],
@@ -86,11 +108,7 @@ public function can_parse_apiresource_tags_with_model_factory_states()
86
108
{
87
109
$ config = new DocumentationConfig ([]);
88
110
89
- $ route = Mockery::mock (Route::class);
90
- $ route ->shouldReceive ('named ' )
91
- ->once ()
92
- ->with ('test ' )
93
- ->andReturn (true );
111
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
94
112
95
113
$ strategy = new UseApiResourceTags ($ config );
96
114
$ tags = [
@@ -107,7 +125,6 @@ public function can_parse_apiresource_tags_with_model_factory_states()
107
125
'id ' => 4 ,
108
126
'name ' => 'Tested Again ' ,
109
127
'email ' => 'a@b.com ' ,
110
- 'test ' => true ,
111
128
'state1 ' => true ,
112
129
'random-state ' => true ,
113
130
],
@@ -129,11 +146,7 @@ public function loads_specified_relations_for_model()
129
146
130
147
$ config = new DocumentationConfig ([]);
131
148
132
- $ route = Mockery::mock (Route::class);
133
- $ route ->shouldReceive ('named ' )
134
- ->times (2 )
135
- ->with ('test ' )
136
- ->andReturn (true );
149
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
137
150
138
151
$ strategy = new UseApiResourceTags ($ config );
139
152
$ tags = [
@@ -155,10 +168,8 @@ public function loads_specified_relations_for_model()
155
168
'id ' => 5 ,
156
169
'name ' => 'Tested Again ' ,
157
170
'email ' => 'a@b.com ' ,
158
- "test " => true
159
171
],
160
172
],
161
- "test " => true
162
173
],
163
174
]),
164
175
],
@@ -177,12 +188,7 @@ public function loads_specified_relations_for_generated_model()
177
188
});
178
189
$ config = new DocumentationConfig ([]);
179
190
180
- // Creating a mock route so we can test that the route is set properly during resolution
181
- $ route = Mockery::mock (Route::class);
182
- $ route ->shouldReceive ('named ' )
183
- ->times (2 )
184
- ->with ('test ' )
185
- ->andReturn (true );
191
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
186
192
187
193
$ strategy = new UseApiResourceTags ($ config );
188
194
$ tags = [
@@ -204,10 +210,8 @@ public function loads_specified_relations_for_generated_model()
204
210
'id ' => 5 ,
205
211
'name ' => 'Tested Again ' ,
206
212
'email ' => 'a@b.com ' ,
207
- 'test ' => true
208
213
],
209
214
],
210
- 'test ' => true
211
215
],
212
216
]),
213
217
],
@@ -219,11 +223,7 @@ public function can_parse_apiresourcecollection_tags()
219
223
{
220
224
$ config = new DocumentationConfig ([]);
221
225
222
- $ route = Mockery::mock (Route::class);
223
- $ route ->shouldReceive ('named ' )
224
- ->times (2 )
225
- ->with ('test ' )
226
- ->andReturn (true );
226
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
227
227
228
228
$ strategy = new UseApiResourceTags ($ config );
229
229
$ tags = [
@@ -241,13 +241,11 @@ public function can_parse_apiresourcecollection_tags()
241
241
'id ' => 4 ,
242
242
'name ' => 'Tested Again ' ,
243
243
'email ' => 'a@b.com ' ,
244
- 'test ' => true ,
245
244
],
246
245
[
247
246
'id ' => 4 ,
248
247
'name ' => 'Tested Again ' ,
249
248
'email ' => 'a@b.com ' ,
250
- 'test ' => true ,
251
249
],
252
250
],
253
251
]),
@@ -260,11 +258,7 @@ public function can_parse_apiresourcecollection_tags_with_collection_class()
260
258
{
261
259
$ config = new DocumentationConfig ([]);
262
260
263
- $ route = Mockery::mock (Route::class);
264
- $ route ->shouldReceive ('named ' )
265
- ->times (3 )
266
- ->with ('test ' )
267
- ->andReturn (true );
261
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
268
262
269
263
$ strategy = new UseApiResourceTags ($ config );
270
264
$ tags = [
@@ -282,19 +276,16 @@ public function can_parse_apiresourcecollection_tags_with_collection_class()
282
276
'id ' => 4 ,
283
277
'name ' => 'Tested Again ' ,
284
278
'email ' => 'a@b.com ' ,
285
- 'test ' => true
286
279
],
287
280
[
288
281
'id ' => 4 ,
289
282
'name ' => 'Tested Again ' ,
290
283
'email ' => 'a@b.com ' ,
291
- 'test ' => true
292
284
],
293
285
],
294
286
'links ' => [
295
287
'self ' => 'link-value ' ,
296
288
],
297
- 'test ' => true ,
298
289
]),
299
290
],
300
291
], $ results );
@@ -305,11 +296,7 @@ public function can_parse_apiresourcecollection_tags_with_collection_class_and_p
305
296
{
306
297
$ config = new DocumentationConfig ([]);
307
298
308
- $ route = Mockery::mock (Route::class);
309
- $ route ->shouldReceive ('named ' )
310
- ->times (2 )
311
- ->with ('test ' )
312
- ->andReturn (true );
299
+ $ route = new Route (['POST ' ], "/somethingRandom " , ['uses ' => [TestController::class, 'dummy ' ]]);
313
300
314
301
$ strategy = new UseApiResourceTags ($ config );
315
302
$ tags = [
@@ -327,7 +314,6 @@ public function can_parse_apiresourcecollection_tags_with_collection_class_and_p
327
314
'id ' => 4 ,
328
315
'name ' => 'Tested Again ' ,
329
316
'email ' => 'a@b.com ' ,
330
- 'test ' => true ,
331
317
],
332
318
],
333
319
'links ' => [
@@ -337,7 +323,6 @@ public function can_parse_apiresourcecollection_tags_with_collection_class_and_p
337
323
"prev " => null ,
338
324
"next " => '/?page=2 ' ,
339
325
],
340
- 'test ' => true ,
341
326
"meta " => [
342
327
"current_page " => 1 ,
343
328
"from " => 1 ,
0 commit comments