16 use PHPUnit_Framework_MockObject_MockObject as MockObject;
36 private $fakeObjectManager;
41 private $generatorFactory;
48 $this->config = $this->getMockBuilder(Config::class)
49 ->disableOriginalConstructor()
50 ->setMethods([
'isActive'])
53 $this->fakeObjectManager = $this->getMockBuilder(ObjectManagerInterface::class)
54 ->disableOriginalConstructor()
55 ->setMethods([
'create'])
56 ->getMockForAbstractClass();
58 $this->generatorFactory = $this->getMockBuilder(GeneratorFactory::class)
59 ->disableOriginalConstructor()
60 ->setMethods([
'create'])
64 $this->factory =
$objectManager->getObject(UpdatingServiceFactory::class, [
65 'objectManager' => $this->fakeObjectManager,
66 'generatorFactory' => $this->generatorFactory,
67 'config' => $this->config
78 $type =
'cases/creation';
79 $this->config->expects(self::once())
83 $this->fakeObjectManager->expects(self::once())
85 ->with(StubUpdatingService::class)
88 $instance = $this->factory->create(
$type);
89 static::assertInstanceOf(StubUpdatingService::class, $instance);
100 $this->config->expects(self::once())
104 $this->fakeObjectManager->expects(self::once())
106 ->with(StubUpdatingService::class)
109 $instance = $this->factory->create(
$type);
110 static::assertInstanceOf(StubUpdatingService::class, $instance);
122 $type =
'cases/unknown';
123 $this->config->expects(self::once())
127 $this->generatorFactory->expects(self::once())
130 ->willThrowException(
new \InvalidArgumentException(
'Specified message type does not supported.'));
132 $this->factory->create(
$type);
142 $type =
'case/creation';
143 $this->config->expects(self::once())
147 $messageGenerator = $this->getMockBuilder(GeneratorInterface::class)
148 ->disableOriginalConstructor()
150 $this->generatorFactory->expects(self::once())
153 ->willReturn($messageGenerator);
155 $service = $this->getMockBuilder(UpdatingService::class)
156 ->disableOriginalConstructor()
159 $this->fakeObjectManager->expects(self::once())
161 ->with(UpdatingService::class, [
'messageGenerator' => $messageGenerator])
165 static::assertInstanceOf(UpdatingService::class,
$result);
testCreateWithException()
testCreateWithInactiveConfig()