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);
 }
Beispiel #4
0
 /**
  * @covers ::get()
  */
 public function testGetClassNotInRegistry()
 {
     $this->setExpectedException('\\InvalidArgumentException');
     $registry = new Registry();
     $registry->get('\\foo\\bar');
 }