3 declare(strict_types
=1);
5 namespace Shaarli\Container
;
7 use PHPUnit\Framework\TestCase
;
8 use Shaarli\Bookmark\BookmarkServiceInterface
;
9 use Shaarli\Config\ConfigManager
;
11 use Shaarli\Render\PageBuilder
;
12 use Shaarli\Security\LoginManager
;
13 use Shaarli\Security\SessionManager
;
15 class ContainerBuilderTest
extends TestCase
17 /** @var ConfigManager */
20 /** @var SessionManager */
21 protected $sessionManager;
23 /** @var LoginManager */
24 protected $loginManager;
26 /** @var ContainerBuilder */
27 protected $containerBuilder;
29 public function setUp(): void
31 $this->conf
= new ConfigManager('tests/utils/config/configJson');
32 $this->sessionManager
= $this->createMock(SessionManager
::class);
33 $this->loginManager
= $this->createMock(LoginManager
::class);
35 $this->containerBuilder
= new ContainerBuilder($this->conf
, $this->sessionManager
, $this->loginManager
);
38 public function testBuildContainer(): void
40 $container = $this->containerBuilder
->build();
42 static::assertInstanceOf(ConfigManager
::class, $container->conf
);
43 static::assertInstanceOf(SessionManager
::class, $container->sessionManager
);
44 static::assertInstanceOf(LoginManager
::class, $container->loginManager
);
45 static::assertInstanceOf(History
::class, $container->history
);
46 static::assertInstanceOf(BookmarkServiceInterface
::class, $container->bookmarkService
);
47 static::assertInstanceOf(PageBuilder
::class, $container->pageBuilder
);