public function testCreatesManagerWithCorrectClass() { $eventDispatcher = $this->mock('Symfony\\Component\\EventDispatcher\\EventDispatcher')->new(); $doctrine = $this->mock('Doctrine\\Bundle\\DoctrineBundle\\Registry')->new(); $registry = new Registry(); $registry->add(new Definition('person', 'Lemon\\RestBundle\\Tests\\Fixtures\\Person')); $managerFactory = new ManagerFactory($registry, $doctrine, $eventDispatcher); $manager = $managerFactory->create("person"); $this->assertEquals('Lemon\\RestBundle\\Tests\\Fixtures\\Person', $manager->getClass()); }
/** * @param Request $request * @return Response */ public function indexAction(Request $request) { $format = $this->negotiator->getBestFormat($request->headers->get('Accept')); if ($format == 'html') { $format = 'json'; } $data = array(); foreach ($this->registry->all() as $definition) { $data[$definition->getName() . '_url'] = $this->router->generate('lemon_rest_list', array('resource' => $definition->getName()), RouterInterface::ABSOLUTE_URL); } $output = $this->serializer->serialize($data, $format); $response = new Response(); $response->headers->set('Content-Type', $request->headers->get('Accept')); $response->setContent($output); return $response; }
/** * @param string $resource * @return Manager */ public function create($resource) { $definition = $this->registry->get($resource); return new Manager($this->doctrine, $this->eventDispatcher, $definition); }
/** * @covers ::get() */ public function testGetClassNotInRegistry() { $this->setExpectedException('\\InvalidArgumentException'); $registry = new Registry(); $registry->get('\\foo\\bar'); }