public function testCustomRepository() { $metadata = new \Pok\PoolDBM\Mapping\ClassMetadata(__NAMESPACE__ . '\\ModelTest'); $metadata->setCustomRepositoryClass(__NAMESPACE__ . '\\ModelRepository'); $metadataFactory = $this->getMock('Pok\\PoolDBM\\Mapping\\ClassMetadataFactory', array('getMetadataFor', 'setModelManager')); $metadataFactory->expects($this->any())->method('getMetadataFor')->will($this->returnValue($metadata)); $manager = new ModelManager(new Pool(), $metadataFactory); $this->assertInstanceOf(__NAMESPACE__ . '\\ModelRepository', $manager->getRepository(__NAMESPACE__ . '\\ModelTest')); $this->assertTrue($manager->find(__NAMESPACE__ . '\\ModelTest', null)); }
public function testCreateModel() { $metadata = new \Pok\PoolDBM\Mapping\ClassMetadata(__NAMESPACE__ . '\\FakeModelTest2'); $metadata->addModel('fake', __NAMESPACE__ . '\\FakeTest', array()); $manager = $this->getMockBuilder('Pok\\PoolDBM\\ModelManager')->disableOriginalConstructor()->getMock(); $manager->expects($this->any())->method('getClassMetadata')->will($this->returnValue($metadata)); $unit = new UnitOfWork($manager); $model = $unit->createModel(__NAMESPACE__ . '\\FakeModelTest2', array('fake' => new FakeTest())); $this->assertInstanceOf(__NAMESPACE__ . '\\FakeModelTest2', $model); $this->assertInstanceOf(__NAMESPACE__ . '\\FakeTest', $model->getFake()); $this->assertInstanceOf('Pok\\PoolDBM\\Persisters\\ModelPersister', $unit->getModelPersister(__NAMESPACE__ . '\\FakeModelTest2')); }
public function testExecute() { $metadata = new \Pok\PoolDBM\Mapping\ClassMetadata(__NAMESPACE__ . '\\ModelTest'); $metadata->addModel('entity', __NAMESPACE__ . '\\EntityTest', array()); $metadata->setIdentifier('entity', 'id'); $metadataFactory = $this->getMock('Pok\\PoolDBM\\Mapping\\ClassMetadataFactory', array('getMetadataFor', 'setModelManager')); $metadataFactory->expects($this->any())->method('getMetadataFor')->will($this->returnValue($metadata)); $pool = new Pool(); $pool->addManager('entity', new ObjectManagerMock()); $manager = new ModelManager($pool, $metadataFactory); $manager->setMetadataDriverImpl(new MetadataDriverMock(array(__NAMESPACE__ . '\\ModelTest'))); $application = new Application(); $application->setHelperSet(new HelperSet(ConsoleRunner::createHelpers($manager))); $application->add(new GenerateMultiModelCommand()); $command = $application->find('pok:pool-dbm:generate:model'); $commandTester = new CommandTester($command); $commandTester->execute(array('command' => $command->getName(), 'dest-path' => sys_get_temp_dir(), '--auto-update' => true)); }
public function testGetter() { $metadata = new \Pok\PoolDBM\Mapping\ClassMetadata(__NAMESPACE__ . '\\FakeModelTest'); $metadata->addModel('fake', __NAMESPACE__ . '\\FakeTest', array()); $manager = $this->getMockBuilder('Pok\\PoolDBM\\ModelManager')->disableOriginalConstructor()->getMock(); $manager->expects($this->any())->method('createQueryBuilder')->will($this->returnValue(true)); $persist = $this->getMockBuilder('Pok\\PoolDBM\\Persisters\\ModelPersister')->disableOriginalConstructor()->getMock(); $persist->expects($this->any())->method('load')->will($this->returnValue(true)); $persist->expects($this->any())->method('loadAll')->will($this->returnValue(true)); $unit = $this->getMockBuilder('Pok\\PoolDBM\\UnitOfWork')->disableOriginalConstructor()->getMock(); $unit->expects($this->any())->method('getModelPersister')->will($this->returnValue($persist)); $repo = new Repository($manager, $unit, $metadata); $this->assertTrue($repo->createQueryBuilder('fake')); $this->assertTrue($repo->find(null)); $this->assertTrue($repo->findAll()); $this->assertTrue($repo->findBy(array())); $this->assertTrue($repo->findOneBy(array())); $this->assertEquals(__NAMESPACE__ . '\\FakeModelTest', $repo->getClassName()); }