/** * @expectedException \InvalidArgumentException * @expectedExceptionMessage ContainerInterface not injected */ public function testMissingContainer() { /** @var OnFlushEventArgs|\PHPUnit_Framework_MockObject_MockObject $args */ $args = $this->getMockBuilder('Doctrine\\ORM\\Event\\OnFlushEventArgs')->disableOriginalConstructor()->getMock(); $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $uow = $this->getMockBuilder('Doctrine\\ORM\\UnitOfWork')->disableOriginalConstructor()->getMock(); $args->expects($this->once())->method('getEntityManager')->will($this->returnValue($em)); $em->expects($this->once())->method('getUnitOfWork')->will($this->returnValue($uow)); $uow->expects($this->once())->method('getScheduledEntityInsertions')->will($this->returnValue([new \stdClass()])); $uow->expects($this->any())->method('getScheduledEntityUpdates')->will($this->returnValue([])); $uow->expects($this->any())->method('getScheduledEntityDeletions')->will($this->returnValue([])); $treeListener = new OwnerTreeListener(); $treeListener->addSupportedClass('stdClass'); $treeListener->onFlush($args); }
/** * @dataProvider provider */ public function testOnFlush($inserts, $updates, $deletions, $isExpectedCache) { $treeProvider = $this->getMockBuilder('Oro\\Bundle\\SecurityBundle\\Owner\\OwnerTreeProvider')->disableOriginalConstructor()->getMock(); $serviceLink = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\DependencyInjection\\Utils\\ServiceLink')->disableOriginalConstructor()->getMock(); $serviceLink->expects($this->any())->method('getService')->will($this->returnValue($treeProvider)); $args = $this->getMockBuilder('Doctrine\\ORM\\Event\\OnFlushEventArgs')->disableOriginalConstructor()->getMock(); $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $uow = $this->getMockBuilder('Doctrine\\ORM\\UnitOfWork')->disableOriginalConstructor()->getMock(); $args->expects($this->once())->method('getEntityManager')->will($this->returnValue($em)); $em->expects($this->once())->method('getUnitOfWork')->will($this->returnValue($uow)); $uow->expects($this->once())->method('getScheduledEntityInsertions')->will($this->returnValue($inserts)); $uow->expects($this->any())->method('getScheduledEntityUpdates')->will($this->returnValue($updates)); $uow->expects($this->any())->method('getScheduledEntityDeletions')->will($this->returnValue($deletions)); if ($isExpectedCache) { $treeProvider->expects($this->once())->method('clear'); } else { $treeProvider->expects($this->never())->method('clear'); } $treeListener = new OwnerTreeListener($serviceLink); $treeListener->onFlush($args); }