From 01e6667e91a18b56a79385fe08a9d4f45c664a8b Mon Sep 17 00:00:00 2001 From: pheaturebot <82849140+pheaturebot@users.noreply.github.com> Date: Tue, 20 Apr 2021 21:01:41 +0000 Subject: [PATCH] [#123] AddStrategyFactoryTest --- src/AddStrategyFactory.php | 5 +++++ test/AddStrategyFactoryTest.php | 37 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 test/AddStrategyFactoryTest.php diff --git a/src/AddStrategyFactory.php b/src/AddStrategyFactory.php index 8f5e83c..c21aed8 100644 --- a/src/AddStrategyFactory.php +++ b/src/AddStrategyFactory.php @@ -15,6 +15,11 @@ public function __invoke(ContainerInterface $container): AddStrategy /** @var FeatureRepository $featureRepository */ $featureRepository = $container->get(FeatureRepository::class); + return self::create($featureRepository); + } + + public static function create(FeatureRepository $featureRepository): AddStrategy + { return new AddStrategy($featureRepository); } } diff --git a/test/AddStrategyFactoryTest.php b/test/AddStrategyFactoryTest.php new file mode 100644 index 0000000..4fd1c5e --- /dev/null +++ b/test/AddStrategyFactoryTest.php @@ -0,0 +1,37 @@ +createMock(FeatureRepository::class); + $container = $this->createMock(ContainerInterface::class); + $container->expects(static::once()) + ->method('get') + ->with(FeatureRepository::class) + ->willReturn($featureRepository); + + $addStrategyFactory = new AddStrategyFactory(); + + $addStrategyFactory->__invoke($container); + } + + public function testItShouldCreateInstanceOfAddStrategyStatically(): void + { + $featureRepository = $this->createMock(FeatureRepository::class); + + $addStrategy = AddStrategyFactory::create($featureRepository); + + $this->assertInstanceOf(AddStrategy::class, $addStrategy); + } +}