3 declare(strict_types
=1);
5 namespace Shaarli\Container
;
7 use PHPUnit\Framework\TestCase
;
8 use Shaarli\Bookmark\BookmarkServiceInterface
;
9 use Shaarli\Config\ConfigManager
;
10 use Shaarli\Formatter\FormatterFactory
;
12 use Shaarli\Render\PageBuilder
;
13 use Shaarli\Render\PageCacheManager
;
14 use Shaarli\Security\LoginManager
;
15 use Shaarli\Security\SessionManager
;
17 class ContainerBuilderTest
extends TestCase
19 /** @var ConfigManager */
22 /** @var SessionManager */
23 protected $sessionManager;
25 /** @var LoginManager */
26 protected $loginManager;
28 /** @var ContainerBuilder */
29 protected $containerBuilder;
31 public function setUp(): void
33 $this->conf
= new ConfigManager('tests/utils/config/configJson');
34 $this->sessionManager
= $this->createMock(SessionManager
::class);
36 $this->loginManager
= $this->createMock(LoginManager
::class);
37 $this->loginManager
->method('isLoggedIn')->willReturn(true);
39 $this->containerBuilder
= new ContainerBuilder(
41 $this->sessionManager
,
47 public function testBuildContainer(): void
49 $container = $this->containerBuilder
->build();
51 static::assertInstanceOf(ConfigManager
::class, $container->conf
);
52 static::assertInstanceOf(SessionManager
::class, $container->sessionManager
);
53 static::assertInstanceOf(LoginManager
::class, $container->loginManager
);
54 static::assertSame('UT web path', $container->webPath
);
55 static::assertInstanceOf(History
::class, $container->history
);
56 static::assertInstanceOf(BookmarkServiceInterface
::class, $container->bookmarkService
);
57 static::assertInstanceOf(PageBuilder
::class, $container->pageBuilder
);
58 static::assertInstanceOf(FormatterFactory
::class, $container->formatterFactory
);
59 static::assertInstanceOf(PageCacheManager
::class, $container->pageCacheManager
);