1
1
<?php
2
2
3
3
use App \Exceptions \BadRequestException ;
4
- use App \Exceptions \InternalServerException ;
5
4
use App \Exceptions \InvalidApiArgumentException ;
6
5
use App \Helpers \MetaFormats \Attributes \Format ;
7
6
use App \Helpers \MetaFormats \Attributes \FPath ;
@@ -11,19 +10,9 @@ use App\Helpers\MetaFormats\Attributes\Path;
11
10
use App \Helpers \MetaFormats \Attributes \Post ;
12
11
use App \Helpers \MetaFormats \Attributes \Query ;
13
12
use App \Helpers \MetaFormats \FormatCache ;
14
- use App \Helpers \MetaFormats \FormatDefinitions \UserFormat ;
15
13
use App \Helpers \MetaFormats \MetaFormat ;
16
14
use App \Helpers \MetaFormats \MetaFormatHelper ;
17
- use App \Helpers \MetaFormats \Validators \BaseValidator ;
18
- use App \Helpers \MetaFormats \Validators \VArray ;
19
- use App \Helpers \MetaFormats \Validators \VBool ;
20
- use App \Helpers \MetaFormats \Validators \VDouble ;
21
15
use App \Helpers \MetaFormats \Validators \VInt ;
22
- use App \Helpers \MetaFormats \Validators \VMixed ;
23
- use App \Helpers \MetaFormats \Validators \VObject ;
24
- use App \Helpers \MetaFormats \Validators \VString ;
25
- use App \Helpers \MetaFormats \Validators \VTimestamp ;
26
- use App \Helpers \MetaFormats \Validators \VUuid ;
27
16
use App \Helpers \Mocks \MockHelper ;
28
17
use App \V1Module \Presenters \BasePresenter ;
29
18
use Nette \Application \Request ;
@@ -151,12 +140,18 @@ class TestBasePresenter extends Tester\TestCase
151
140
{
152
141
self ::injectFormat (PresenterTestFormat::class);
153
142
$ presenter = new TestPresenter ();
154
- $ action = self ::getMethod ($ presenter , "actionTestFormat " );
155
- $ processParams = self ::getMethod ($ presenter , "processParams " );
143
+ MockHelper::initPresenter ($ presenter );
156
144
157
145
// create a valid request object
158
- $ request = new Request ("name " , method: "POST " , params: ["path " => "1 " , "query " => "1 " ], post: ["post " => 1 ]);
159
- $ processParams ->invoke ($ presenter , $ request , $ action );
146
+ $ request = new Request (
147
+ "name " ,
148
+ method: "POST " ,
149
+ params: ["action " => "testFormat " , "path " => "1 " , "query " => "1 " ],
150
+ post: ["post " => 1 ]
151
+ );
152
+
153
+ $ response = $ presenter ->run ($ request );
154
+ Assert::equal ("OK " , $ response ->getPayload ()["payload " ]);
160
155
161
156
// the presenter should automatically create a valid format object
162
157
/** @var PresenterTestFormat */
@@ -174,19 +169,18 @@ class TestBasePresenter extends Tester\TestCase
174
169
{
175
170
self ::injectFormat (PresenterTestFormat::class);
176
171
$ presenter = new TestPresenter ();
177
- $ action = self ::getMethod ($ presenter , "actionTestFormat " );
178
- $ processParams = self ::getMethod ($ presenter , "processParams " );
172
+ MockHelper::initPresenter ($ presenter );
179
173
180
174
// create a request object with invalid fields
181
175
$ request = new Request (
182
176
"name " ,
183
177
method: "POST " ,
184
- params: ["path " => "string " , "query " => "1 " ],
178
+ params: ["action " => " testFormat " , " path " => "string " , "query " => "1 " ],
185
179
post: ["post " => 1 ]
186
180
);
187
181
Assert::throws (
188
- function () use ($ processParams , $ presenter , $ request, $ action ) {
189
- $ processParams -> invoke ( $ presenter , $ request, $ action );
182
+ function () use ($ presenter , $ request ) {
183
+ $ presenter -> run ( $ request );
190
184
},
191
185
InvalidApiArgumentException::class
192
186
);
@@ -196,14 +190,18 @@ class TestBasePresenter extends Tester\TestCase
196
190
{
197
191
self ::injectFormat (PresenterTestFormat::class);
198
192
$ presenter = new TestPresenter ();
199
- $ action = self ::getMethod ($ presenter , "actionTestFormat " );
200
- $ processParams = self ::getMethod ($ presenter , "processParams " );
193
+ MockHelper::initPresenter ($ presenter );
201
194
202
195
// create a request object with invalid structure
203
- $ request = new Request ("name " , method: "POST " , params: ["path " => "1 " , "query " => "0 " ], post: ["post " => 1 ]);
196
+ $ request = new Request (
197
+ "name " ,
198
+ method: "POST " ,
199
+ params: ["action " => "testFormat " , "path " => "1 " , "query " => "0 " ],
200
+ post: ["post " => 1 ]
201
+ );
204
202
Assert::throws (
205
- function () use ($ processParams , $ presenter , $ request, $ action ) {
206
- $ processParams -> invoke ( $ presenter , $ request, $ action );
203
+ function () use ($ presenter , $ request ) {
204
+ $ presenter -> run ( $ request );
207
205
},
208
206
BadRequestException::class
209
207
);
@@ -213,17 +211,17 @@ class TestBasePresenter extends Tester\TestCase
213
211
{
214
212
self ::injectFormat (PresenterTestFormat::class);
215
213
$ presenter = new TestPresenter ();
216
- $ action = self ::getMethod ($ presenter , "actionTestCombined " );
217
- $ processParams = self ::getMethod ($ presenter , "processParams " );
214
+ MockHelper::initPresenter ($ presenter );
218
215
219
216
// create a valid request object
220
217
$ request = new Request (
221
218
"name " ,
222
219
method: "POST " ,
223
- params: ["path " => "1 " , "query " => "1 " ],
220
+ params: ["action " => " testCombined " , " path " => "1 " , "query " => "1 " ],
224
221
post: ["post " => 1 , "loose " => 1 ]
225
222
);
226
- $ processParams ->invoke ($ presenter , $ request , $ action );
223
+ $ response = $ presenter ->run ($ request );
224
+ Assert::equal ("OK " , $ response ->getPayload ()["payload " ]);
227
225
228
226
// the presenter should automatically create a valid format object
229
227
/** @var PresenterTestFormat */
@@ -241,19 +239,18 @@ class TestBasePresenter extends Tester\TestCase
241
239
{
242
240
self ::injectFormat (PresenterTestFormat::class);
243
241
$ presenter = new TestPresenter ();
244
- $ action = self ::getMethod ($ presenter , "actionTestCombined " );
245
- $ processParams = self ::getMethod ($ presenter , "processParams " );
242
+ MockHelper::initPresenter ($ presenter );
246
243
247
244
// create a request object with invalid fields
248
245
$ request = new Request (
249
246
"name " ,
250
247
method: "POST " ,
251
- params: ["path " => "string " , "query " => "1 " ],
248
+ params: ["action " => " testCombined " , " path " => "string " , "query " => "1 " ],
252
249
post: ["post " => 1 , "loose " => 1 ]
253
250
);
254
251
Assert::throws (
255
- function () use ($ processParams , $ presenter , $ request, $ action ) {
256
- $ processParams -> invoke ( $ presenter , $ request, $ action );
252
+ function () use ($ presenter , $ request ) {
253
+ $ presenter -> run ( $ request );
257
254
},
258
255
InvalidApiArgumentException::class
259
256
);
@@ -263,19 +260,18 @@ class TestBasePresenter extends Tester\TestCase
263
260
{
264
261
self ::injectFormat (PresenterTestFormat::class);
265
262
$ presenter = new TestPresenter ();
266
- $ action = self ::getMethod ($ presenter , "actionTestCombined " );
267
- $ processParams = self ::getMethod ($ presenter , "processParams " );
263
+ MockHelper::initPresenter ($ presenter );
268
264
269
265
// create a request object with invalid structure
270
266
$ request = new Request (
271
267
"name " ,
272
268
method: "POST " ,
273
- params: ["path " => "1 " , "query " => "0 " ],
269
+ params: ["action " => " testCombined " , " path " => "1 " , "query " => "0 " ],
274
270
post: ["post " => 1 , "loose " => 1 ]
275
271
);
276
272
Assert::throws (
277
- function () use ($ processParams , $ presenter , $ request, $ action ) {
278
- $ processParams -> invoke ( $ presenter , $ request, $ action );
273
+ function () use ($ presenter , $ request ) {
274
+ $ presenter -> run ( $ request );
279
275
},
280
276
BadRequestException::class
281
277
);
@@ -285,19 +281,18 @@ class TestBasePresenter extends Tester\TestCase
285
281
{
286
282
self ::injectFormat (PresenterTestFormat::class);
287
283
$ presenter = new TestPresenter ();
288
- $ action = self ::getMethod ($ presenter , "actionTestCombined " );
289
- $ processParams = self ::getMethod ($ presenter , "processParams " );
284
+ MockHelper::initPresenter ($ presenter );
290
285
291
286
// create a request object with an invalid loose parameter
292
287
$ request = new Request (
293
288
"name " ,
294
289
method: "POST " ,
295
- params: ["path " => "1 " , "query " => "1 " ],
290
+ params: ["action " => " testCombined " , " path " => "1 " , "query " => "1 " ],
296
291
post: ["post " => 1 , "loose " => "string " ]
297
292
);
298
293
Assert::throws (
299
- function () use ($ processParams , $ presenter , $ request, $ action ) {
300
- $ processParams -> invoke ( $ presenter , $ request, $ action );
294
+ function () use ($ presenter , $ request ) {
295
+ $ presenter -> run ( $ request );
301
296
},
302
297
InvalidApiArgumentException::class
303
298
);
0 commit comments