public function testGetEntity() { $container = new Container(); $entity = new Entity('a', new EntityOptions()); $container->addEntity($entity); $serviceLocator = $this->getMock('Zend\\ServiceManager\\ServiceManager', ['get']); $serviceLocator->expects($this->once())->method('get')->with('EnliteAdminEntities')->will($this->returnValue($container)); $service = new EntityService($serviceLocator); $this->assertSame($entity, $service->getEntity('a')); }
/** * Create service * * @param ServiceLocatorInterface $serviceLocator * @return mixed */ public function createService(ServiceLocatorInterface $serviceLocator) { $container = new Container(); /** @var Configuration $config */ $config = $serviceLocator->get('EnliteAdminConfiguration'); foreach ($config->getEntities() as $name => $options) { $entity = new Entity($name, $options); $entity->setServiceLocator($serviceLocator); $container->addEntity($entity); } return $container; }
public function testGetEntitiesPage() { $container = new Container(); $container->addEntity(new Entity('a', new EntityOptions())); $container->addEntity(new Entity('b', new EntityOptions(['allow' => []]))); $serviceLocator = $this->getMock('Zend\\ServiceManager\\ServiceManager', ['get']); $serviceLocator->expects($this->once())->method('get')->with('EnliteAdminEntities')->will($this->returnValue($container)); $factory = $this->getMock('EnliteAdmin\\Navigation\\Service\\AdminNavigationFactory', ['getPagesFromConfig', 'preparePages']); $factory->expects($this->once())->method('getPagesFromConfig')->with(array('entities' => array('label' => 'Entities', 'route' => 'admin/entity', 'resource' => 'admin', 'pages' => array(array('label' => 'a', 'route' => 'admin/entity/entity', 'params' => array('entity' => 'a'), 'resource' => 'admin')))))->will($this->returnValue('pages')); $factory->expects($this->once())->method('preparePages')->with($serviceLocator, 'pages')->will($this->returnValue(array('abc'))); $method = new \ReflectionMethod($factory, 'getEntitiesPage'); $method->setAccessible(true); $result = $method->invoke($factory, $serviceLocator); $this->assertCount(1, $result); }
/** * @expectedException \EnliteAdmin\Exception\RuntimeException */ public function testGetEntityNotFound() { $container = new Container(); $container->getEntity('a'); }