Skip to content

Commit cbd978a

Browse files
eceltovkrulis-martin
authored andcommitted
fixed tests with mocks
1 parent c5893b9 commit cbd978a

File tree

1 file changed

+39
-44
lines changed

1 file changed

+39
-44
lines changed

tests/Validation/BasePresenter.phpt

Lines changed: 39 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?php
22

33
use App\Exceptions\BadRequestException;
4-
use App\Exceptions\InternalServerException;
54
use App\Exceptions\InvalidApiArgumentException;
65
use App\Helpers\MetaFormats\Attributes\Format;
76
use App\Helpers\MetaFormats\Attributes\FPath;
@@ -11,19 +10,9 @@ use App\Helpers\MetaFormats\Attributes\Path;
1110
use App\Helpers\MetaFormats\Attributes\Post;
1211
use App\Helpers\MetaFormats\Attributes\Query;
1312
use App\Helpers\MetaFormats\FormatCache;
14-
use App\Helpers\MetaFormats\FormatDefinitions\UserFormat;
1513
use App\Helpers\MetaFormats\MetaFormat;
1614
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;
2115
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;
2716
use App\Helpers\Mocks\MockHelper;
2817
use App\V1Module\Presenters\BasePresenter;
2918
use Nette\Application\Request;
@@ -151,12 +140,18 @@ class TestBasePresenter extends Tester\TestCase
151140
{
152141
self::injectFormat(PresenterTestFormat::class);
153142
$presenter = new TestPresenter();
154-
$action = self::getMethod($presenter, "actionTestFormat");
155-
$processParams = self::getMethod($presenter, "processParams");
143+
MockHelper::initPresenter($presenter);
156144

157145
// 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"]);
160155

161156
// the presenter should automatically create a valid format object
162157
/** @var PresenterTestFormat */
@@ -174,19 +169,18 @@ class TestBasePresenter extends Tester\TestCase
174169
{
175170
self::injectFormat(PresenterTestFormat::class);
176171
$presenter = new TestPresenter();
177-
$action = self::getMethod($presenter, "actionTestFormat");
178-
$processParams = self::getMethod($presenter, "processParams");
172+
MockHelper::initPresenter($presenter);
179173

180174
// create a request object with invalid fields
181175
$request = new Request(
182176
"name",
183177
method: "POST",
184-
params: ["path" => "string", "query" => "1"],
178+
params: ["action" => "testFormat", "path" => "string", "query" => "1"],
185179
post: ["post" => 1]
186180
);
187181
Assert::throws(
188-
function () use ($processParams, $presenter, $request, $action) {
189-
$processParams->invoke($presenter, $request, $action);
182+
function () use ($presenter, $request) {
183+
$presenter->run($request);
190184
},
191185
InvalidApiArgumentException::class
192186
);
@@ -196,14 +190,18 @@ class TestBasePresenter extends Tester\TestCase
196190
{
197191
self::injectFormat(PresenterTestFormat::class);
198192
$presenter = new TestPresenter();
199-
$action = self::getMethod($presenter, "actionTestFormat");
200-
$processParams = self::getMethod($presenter, "processParams");
193+
MockHelper::initPresenter($presenter);
201194

202195
// 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+
);
204202
Assert::throws(
205-
function () use ($processParams, $presenter, $request, $action) {
206-
$processParams->invoke($presenter, $request, $action);
203+
function () use ($presenter, $request) {
204+
$presenter->run($request);
207205
},
208206
BadRequestException::class
209207
);
@@ -213,17 +211,17 @@ class TestBasePresenter extends Tester\TestCase
213211
{
214212
self::injectFormat(PresenterTestFormat::class);
215213
$presenter = new TestPresenter();
216-
$action = self::getMethod($presenter, "actionTestCombined");
217-
$processParams = self::getMethod($presenter, "processParams");
214+
MockHelper::initPresenter($presenter);
218215

219216
// create a valid request object
220217
$request = new Request(
221218
"name",
222219
method: "POST",
223-
params: ["path" => "1", "query" => "1"],
220+
params: ["action" => "testCombined", "path" => "1", "query" => "1"],
224221
post: ["post" => 1, "loose" => 1]
225222
);
226-
$processParams->invoke($presenter, $request, $action);
223+
$response = $presenter->run($request);
224+
Assert::equal("OK", $response->getPayload()["payload"]);
227225

228226
// the presenter should automatically create a valid format object
229227
/** @var PresenterTestFormat */
@@ -241,19 +239,18 @@ class TestBasePresenter extends Tester\TestCase
241239
{
242240
self::injectFormat(PresenterTestFormat::class);
243241
$presenter = new TestPresenter();
244-
$action = self::getMethod($presenter, "actionTestCombined");
245-
$processParams = self::getMethod($presenter, "processParams");
242+
MockHelper::initPresenter($presenter);
246243

247244
// create a request object with invalid fields
248245
$request = new Request(
249246
"name",
250247
method: "POST",
251-
params: ["path" => "string", "query" => "1"],
248+
params: ["action" => "testCombined", "path" => "string", "query" => "1"],
252249
post: ["post" => 1, "loose" => 1]
253250
);
254251
Assert::throws(
255-
function () use ($processParams, $presenter, $request, $action) {
256-
$processParams->invoke($presenter, $request, $action);
252+
function () use ($presenter, $request) {
253+
$presenter->run($request);
257254
},
258255
InvalidApiArgumentException::class
259256
);
@@ -263,19 +260,18 @@ class TestBasePresenter extends Tester\TestCase
263260
{
264261
self::injectFormat(PresenterTestFormat::class);
265262
$presenter = new TestPresenter();
266-
$action = self::getMethod($presenter, "actionTestCombined");
267-
$processParams = self::getMethod($presenter, "processParams");
263+
MockHelper::initPresenter($presenter);
268264

269265
// create a request object with invalid structure
270266
$request = new Request(
271267
"name",
272268
method: "POST",
273-
params: ["path" => "1", "query" => "0"],
269+
params: ["action" => "testCombined", "path" => "1", "query" => "0"],
274270
post: ["post" => 1, "loose" => 1]
275271
);
276272
Assert::throws(
277-
function () use ($processParams, $presenter, $request, $action) {
278-
$processParams->invoke($presenter, $request, $action);
273+
function () use ($presenter, $request) {
274+
$presenter->run($request);
279275
},
280276
BadRequestException::class
281277
);
@@ -285,19 +281,18 @@ class TestBasePresenter extends Tester\TestCase
285281
{
286282
self::injectFormat(PresenterTestFormat::class);
287283
$presenter = new TestPresenter();
288-
$action = self::getMethod($presenter, "actionTestCombined");
289-
$processParams = self::getMethod($presenter, "processParams");
284+
MockHelper::initPresenter($presenter);
290285

291286
// create a request object with an invalid loose parameter
292287
$request = new Request(
293288
"name",
294289
method: "POST",
295-
params: ["path" => "1", "query" => "1"],
290+
params: ["action" => "testCombined", "path" => "1", "query" => "1"],
296291
post: ["post" => 1, "loose" => "string"]
297292
);
298293
Assert::throws(
299-
function () use ($processParams, $presenter, $request, $action) {
300-
$processParams->invoke($presenter, $request, $action);
294+
function () use ($presenter, $request) {
295+
$presenter->run($request);
301296
},
302297
InvalidApiArgumentException::class
303298
);

0 commit comments

Comments
 (0)