Skip to content

Commit 157023b

Browse files
committed
Tests: refactor
1 parent 8d889ae commit 157023b

8 files changed

Lines changed: 84 additions & 170 deletions

File tree

‎tests/.coveralls.yml‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎tests/.gitignore‎

Lines changed: 0 additions & 10 deletions
This file was deleted.

‎tests/Cases/DI/ConsoleBridgesExtension.phpt‎

Lines changed: 68 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Tests\DI;
44

55
use Contributte\Console\Application;
6+
use Contributte\Console\DI\ConsoleExtension;
67
use Contributte\Console\Extra\Command\AdvancedCache\CacheCleanCommand;
78
use Contributte\Console\Extra\Command\AdvancedCache\CacheGenerateCommand;
89
use Contributte\Console\Extra\Command\Cache\CachePurgeCommand;
@@ -14,20 +15,31 @@ use Contributte\Console\Extra\Command\Router\RouterDumpCommand;
1415
use Contributte\Console\Extra\Command\Security\SecurityPasswordCommand;
1516
use Contributte\Console\Extra\Command\Utils\UtilsRandomCommand;
1617
use Contributte\Console\Extra\DI\ConsoleBridgesExtension;
18+
use Contributte\Console\Extra\DI\DatabaseConsoleExtension;
19+
use Contributte\Tester\Environment;
20+
use Contributte\Tester\Toolkit;
21+
use Contributte\Tester\Utils\ContainerBuilder;
22+
use Nette\Bridges\ApplicationDI\LatteExtension;
23+
use Nette\Bridges\ApplicationDI\RoutingExtension;
1724
use Nette\Bridges\ApplicationLatte\TemplateFactory;
25+
use Nette\Bridges\CacheDI\CacheExtension;
26+
use Nette\Bridges\HttpDI\HttpExtension;
27+
use Nette\Bridges\HttpDI\SessionExtension;
28+
use Nette\Bridges\SecurityDI\SecurityExtension;
1829
use Nette\Caching\Storage;
30+
use Nette\DI\Compiler;
1931
use Nette\DI\MissingServiceException;
2032
use Nette\Routing\Router;
2133
use Nette\Schema\Processor;
2234
use Nette\Security\Passwords;
23-
use Ninjify\Nunjuck\Toolkit;
2435
use Symfony\Component\Console\Command\Command;
2536
use Tester\Assert;
26-
use Tests\Toolkit\Container;
27-
use Tests\Toolkit\Tests;
2837

2938
require_once __DIR__ . '/../../bootstrap.php';
3039

40+
const APP_PATH = __DIR__ . '/..';
41+
const TEMP_PATH = __DIR__ . '/../tmp';
42+
3143
// Get schema
3244
Toolkit::test(function (): void {
3345
$schema = (new ConsoleBridgesExtension(true))->getConfigSchema();
@@ -42,25 +54,46 @@ Toolkit::test(function (): void {
4254

4355
// Default config
4456
Toolkit::test(function (): void {
45-
$container = Container::of()
46-
->withDefaults()
47-
->build();
57+
$container = ContainerBuilder::of()
58+
->withCompiler(function (Compiler $compiler): void {
59+
$compiler->addExtension('cache', new CacheExtension(Environment::getTestDir() . '/cache'));
60+
$compiler->addExtension('console', new ConsoleExtension(true));
61+
$compiler->addExtension('console.extra', new ConsoleBridgesExtension(true));
62+
$compiler->addExtension('http', new HttpExtension(true));
63+
$compiler->addExtension('latte', new LatteExtension(Environment::getTestDir() . '/latte'));
64+
$compiler->addExtension('router', new RoutingExtension());
65+
$compiler->addExtension('security', new SecurityExtension());
66+
$compiler->addExtension('session', new SessionExtension(false, true));
67+
$compiler->addConfig([
68+
'databaseBackup' => [
69+
'backupPath' => Environment::getTestDir() . '/backup',
70+
'consoleMode' => true,
71+
],
72+
]);
73+
$compiler->addConfig([
74+
'parameters' => [
75+
'tempDir' => TEMP_PATH,
76+
'appDir' => APP_PATH,
77+
],
78+
]);
79+
$compiler->addExtension('databaseBackup', new DatabaseConsoleExtension(true));
80+
})->build();
4881

4982
$passwords = new Passwords();
5083
$router = $container->getByType(Router::class);
5184
$storage = $container->getByType(Storage::class);
5285
$templateFactory = $container->getByType(TemplateFactory::class);
5386

54-
Assert::equal(10, count($container->findByType(Command::class)));
87+
Assert::count(12, $container->findByType(Command::class));
5588

5689
$commands = [
5790
CacheCleanCommand::class => new CacheCleanCommand([]),
5891
CacheGenerateCommand::class => new CacheGenerateCommand([]),
59-
CachePurgeCommand::class => new CachePurgeCommand([Tests::TEMP_PATH . '/cache']),
92+
CachePurgeCommand::class => new CachePurgeCommand([TEMP_PATH . '/cache']),
6093
CachingClearCommand::class => new CachingClearCommand($storage),
61-
DIPurgeCommand::class => new DIPurgeCommand([Tests::TEMP_PATH . '/cache/nette.configurator']),
62-
LattePurgeCommand::class => new LattePurgeCommand([Tests::TEMP_PATH . '/cache/latte']),
63-
LatteWarmupCommand::class => new LatteWarmupCommand($templateFactory, [Tests::APP_PATH]),
94+
DIPurgeCommand::class => new DIPurgeCommand([TEMP_PATH . '/cache/nette.configurator']),
95+
LattePurgeCommand::class => new LattePurgeCommand([TEMP_PATH . '/cache/latte']),
96+
LatteWarmupCommand::class => new LatteWarmupCommand($templateFactory, [APP_PATH]),
6497
RouterDumpCommand::class => new RouterDumpCommand($router),
6598
SecurityPasswordCommand::class => new SecurityPasswordCommand($passwords),
6699
UtilsRandomCommand::class => new UtilsRandomCommand(),
@@ -73,10 +106,30 @@ Toolkit::test(function (): void {
73106

74107
// Non-CLI mode
75108
Toolkit::test(function (): void {
76-
$container = Container::of()
77-
->withDefaults()
78-
->withConsoleMode(false)
79-
->build();
109+
$container = ContainerBuilder::of()
110+
->withCompiler(function (Compiler $compiler): void {
111+
$compiler->addExtension('cache', new CacheExtension(Environment::getTestDir() . '/cache'));
112+
$compiler->addExtension('console', new ConsoleExtension(false));
113+
$compiler->addExtension('console.extra', new ConsoleBridgesExtension(false));
114+
$compiler->addExtension('http', new HttpExtension(false));
115+
$compiler->addExtension('latte', new LatteExtension(Environment::getTestDir() . '/latte'));
116+
$compiler->addExtension('router', new RoutingExtension());
117+
$compiler->addExtension('security', new SecurityExtension());
118+
$compiler->addExtension('session', new SessionExtension(false, false));
119+
$compiler->addConfig([
120+
'databaseBackup' => [
121+
'backupPath' => Environment::getTestDir() . '/backup',
122+
'consoleMode' => true,
123+
],
124+
]);
125+
$compiler->addConfig([
126+
'parameters' => [
127+
'tempDir' => TEMP_PATH,
128+
'appDir' => APP_PATH,
129+
],
130+
]);
131+
$compiler->addExtension('databaseBackup', new DatabaseConsoleExtension(true));
132+
})->build();
80133

81134
Assert::exception(static function () use ($container): void {
82135
$container->getByType(Application::class);

‎tests/Cases/DI/DatabaseConsoleExtension.phpt‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@ namespace Tests\DI;
55
use Contributte\Console\Extra\Command\Database\BackupCommand;
66
use Contributte\Console\Extra\Command\Database\LoadCommand;
77
use Contributte\Console\Extra\DI\DatabaseConsoleExtension;
8+
use Contributte\Tester\Environment;
9+
use Contributte\Tester\Toolkit;
10+
use Contributte\Tester\Utils\ContainerBuilder;
811
use Nette\DI\Compiler;
9-
use Ninjify\Nunjuck\Toolkit;
1012
use Tester\Assert;
11-
use Tests\Toolkit\Container;
1213

1314
require_once __DIR__ . '/../../bootstrap.php';
1415

1516
Toolkit::test(function (): void {
16-
$container = Container::of()
17+
$container = ContainerBuilder::of()
1718
->withCompiler(function (Compiler $compiler): void {
1819
$compiler->addConfig([
1920
'databaseBackup' => [
20-
'backupPath' => TEMP_DIR . '/backup',
21+
'backupPath' => Environment::getTestDir() . '/backup',
2122
'consoleMode' => true,
2223
],
2324
]);

‎tests/Cases/Utils/FilesTest.php‎

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,18 @@
33
namespace Tests\Cases\Utils;
44

55
use Contributte\Console\Extra\Utils\Files;
6+
use Contributte\Tester\Environment;
7+
use Contributte\Tester\Toolkit;
68
use Tester\Assert;
7-
use Tester\TestCase;
89

910
require_once __DIR__ . '/../../bootstrap.php';
1011

11-
class FilesTest extends TestCase
12-
{
12+
Toolkit::test(function (): void {
13+
file_put_contents(Environment::getTestDir() . '/foo.txt', 'foo');
14+
file_put_contents(Environment::getTestDir() . '/bar.txt', 'bar');
1315

14-
public function testOk(): void
15-
{
16-
file_put_contents(TEMP_DIR . '/foo.txt', 'foo');
17-
file_put_contents(TEMP_DIR . '/bar.txt', 'bar');
16+
Assert::equal(['.', '..', 'bar.txt', 'foo.txt'], scandir(Environment::getTestDir()));
1817

19-
Assert::equal(['.', '..', 'bar.txt', 'foo.txt'], scandir(TEMP_DIR));
20-
21-
Files::purge(TEMP_DIR);
22-
Assert::equal(['.', '..'], scandir(TEMP_DIR));
23-
}
24-
25-
}
26-
27-
(new FilesTest())->run();
18+
Files::purge(Environment::getTestDir());
19+
Assert::equal(['.', '..'], scandir(Environment::getTestDir()));
20+
});

‎tests/Toolkit/Container.php‎

Lines changed: 0 additions & 105 deletions
This file was deleted.

‎tests/Toolkit/Tests.php‎

Lines changed: 0 additions & 11 deletions
This file was deleted.

‎tests/bootstrap.php‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
<?php declare(strict_types = 1);
22

3-
use Ninjify\Nunjuck\Environment;
3+
use Contributte\Tester\Environment;
44

55
if (@!include __DIR__ . '/../vendor/autoload.php') {
66
echo 'Install Nette Tester using `composer update --dev`';
77
exit(1);
88
}
99

10-
// Configure environment
11-
Environment::setupTester();
12-
Environment::setupTimezone();
13-
Environment::setupVariables(__DIR__);
10+
Environment::setup(__DIR__);

0 commit comments

Comments
 (0)