]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - tests/container/ContainerBuilderTest.php
Use multi-level routes for existing controllers instead of 1 level everywhere
[github/shaarli/Shaarli.git] / tests / container / ContainerBuilderTest.php
CommitLineData
6c50a6cc
A
1<?php
2
3declare(strict_types=1);
4
5namespace Shaarli\Container;
6
7use PHPUnit\Framework\TestCase;
8use Shaarli\Bookmark\BookmarkServiceInterface;
9use Shaarli\Config\ConfigManager;
9c75f877 10use Shaarli\Feed\FeedBuilder;
485b168a 11use Shaarli\Formatter\FormatterFactory;
6c50a6cc 12use Shaarli\History;
9c75f877
A
13use Shaarli\Http\HttpAccess;
14use Shaarli\Plugin\PluginManager;
6c50a6cc 15use Shaarli\Render\PageBuilder;
8e47af2b 16use Shaarli\Render\PageCacheManager;
6c50a6cc
A
17use Shaarli\Security\LoginManager;
18use Shaarli\Security\SessionManager;
9c75f877 19use Shaarli\Thumbnailer;
6c50a6cc
A
20
21class ContainerBuilderTest extends TestCase
22{
23 /** @var ConfigManager */
24 protected $conf;
25
26 /** @var SessionManager */
27 protected $sessionManager;
28
29 /** @var LoginManager */
30 protected $loginManager;
31
32 /** @var ContainerBuilder */
33 protected $containerBuilder;
34
35 public function setUp(): void
36 {
37 $this->conf = new ConfigManager('tests/utils/config/configJson');
38 $this->sessionManager = $this->createMock(SessionManager::class);
485b168a 39
6c50a6cc 40 $this->loginManager = $this->createMock(LoginManager::class);
485b168a 41 $this->loginManager->method('isLoggedIn')->willReturn(true);
6c50a6cc 42
8e47af2b
A
43 $this->containerBuilder = new ContainerBuilder(
44 $this->conf,
45 $this->sessionManager,
9c75f877 46 $this->loginManager
8e47af2b 47 );
6c50a6cc
A
48 }
49
50 public function testBuildContainer(): void
51 {
52 $container = $this->containerBuilder->build();
53
54 static::assertInstanceOf(ConfigManager::class, $container->conf);
55 static::assertInstanceOf(SessionManager::class, $container->sessionManager);
56 static::assertInstanceOf(LoginManager::class, $container->loginManager);
57 static::assertInstanceOf(History::class, $container->history);
58 static::assertInstanceOf(BookmarkServiceInterface::class, $container->bookmarkService);
59 static::assertInstanceOf(PageBuilder::class, $container->pageBuilder);
9c75f877 60 static::assertInstanceOf(PluginManager::class, $container->pluginManager);
485b168a 61 static::assertInstanceOf(FormatterFactory::class, $container->formatterFactory);
8e47af2b 62 static::assertInstanceOf(PageCacheManager::class, $container->pageCacheManager);
9c75f877
A
63 static::assertInstanceOf(FeedBuilder::class, $container->feedBuilder);
64 static::assertInstanceOf(Thumbnailer::class, $container->thumbnailer);
65 static::assertInstanceOf(HttpAccess::class, $container->httpAccess);
66
67 // Set by the middleware
68 static::assertNull($container->basePath);
6c50a6cc
A
69 }
70}