Skip to content

Commit cb4f624

Browse files
committed
added missing mock framework
1 parent 54eabc5 commit cb4f624

4 files changed

Lines changed: 101 additions & 0 deletions

File tree

app/helpers/Mocks/MockHelper.php

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
namespace App\Helpers\Mocks;
4+
5+
use App\Helpers\MetaFormats\FormatCache;
6+
use App\Helpers\MetaFormats\MetaFormatHelper;
7+
use App\Helpers\Mocks\MockUserStorage;
8+
use App\V1Module\Presenters\BasePresenter;
9+
use Nette\Application\Application;
10+
use Nette\Application\PresenterFactory;
11+
use Nette\Application\Routers\RouteList;
12+
use Nette\Http\Response;
13+
use Nette\Http\UrlScript;
14+
use Nette\Security\User;
15+
use Nette;
16+
use ReflectionProperty;
17+
18+
class MockHelper
19+
{
20+
/**
21+
* Initializes a presenter object with empty http request, response, and user objects.
22+
* This is intended to be called right after presenter instantiation and before calling the Presenter::run method.
23+
* @param BasePresenter $presenter The presenter to be initialized.
24+
*/
25+
public static function initPresenter(BasePresenter $presenter)
26+
{
27+
$httpRequest = new \Nette\Http\Request(new UrlScript());
28+
$httpResponse = new Response();
29+
$user = new User(new MockUserStorage());
30+
31+
$application = new Application(new PresenterFactory(), new RouteList("V1"), $httpRequest, $httpResponse);
32+
$presenter->application = $application;
33+
34+
$factory = new MockTemplateFactory();
35+
36+
$presenter->injectPrimary($httpRequest, $httpResponse, user: $user, templateFactory: $factory);
37+
}
38+
}

app/helpers/Mocks/MockTemplate.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
namespace App\Helpers\Mocks;
4+
5+
use Nette\Application\UI\Template;
6+
7+
class MockTemplate implements Template
8+
{
9+
public function render(): void
10+
{
11+
}
12+
13+
public function setFile(string $file): static
14+
{
15+
return $this;
16+
}
17+
18+
public function getFile(): ?string
19+
{
20+
return "test";
21+
}
22+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace App\Helpers\Mocks;
4+
5+
use Nette\Application\UI\Control;
6+
use Nette\Application\UI\Template;
7+
use Nette\Application\UI\TemplateFactory;
8+
9+
class MockTemplateFactory implements TemplateFactory
10+
{
11+
public function createTemplate(?Control $control = null): Template
12+
{
13+
return new MockTemplate();
14+
}
15+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace App\Helpers\Mocks;
4+
5+
use Nette;
6+
use Nette\Security\IIdentity;
7+
8+
class MockUserStorage implements Nette\Security\UserStorage
9+
{
10+
public function setExpiration(?string $expire, bool $clearIdentity): void
11+
{
12+
}
13+
14+
public function saveAuthentication(IIdentity $identity): void
15+
{
16+
}
17+
18+
public function clearAuthentication(bool $clearIdentity): void
19+
{
20+
}
21+
22+
public function getState(): array
23+
{
24+
return [false, null, 0];
25+
}
26+
}

0 commit comments

Comments
 (0)