Пример #1
0
 /**
  * @covers Sonata\AdminBundle\Admin\Admin::getDashboardActions
  * @dataProvider provideGetBaseRouteName
  */
 public function testDefaultDashboardActionsArePresent($objFqn, $expected)
 {
     $pathInfo = new \Sonata\AdminBundle\Route\PathInfoBuilder($this->getMock('Sonata\\AdminBundle\\Model\\AuditManagerInterface'));
     $routeGenerator = new DefaultRouteGenerator($this->getMock('Symfony\\Component\\Routing\\RouterInterface'), new RoutesCache($this->cacheTempFolder, true));
     $admin = new PostAdmin('sonata.post.admin.post', $objFqn, 'SonataNewsBundle:PostAdmin');
     $admin->setRouteBuilder($pathInfo);
     $admin->setRouteGenerator($routeGenerator);
     $admin->initialize();
     $securityHandler = $this->getMock('Sonata\\AdminBundle\\Security\\Handler\\SecurityHandlerInterface');
     $securityHandler->expects($this->any())->method('isGranted')->will($this->returnCallback(function (AdminInterface $adminIn, $attributes, $object = null) use($admin) {
         if ($admin == $adminIn && ($attributes == 'CREATE' || $attributes == 'LIST')) {
             return true;
         }
         return false;
     }));
     $admin->setSecurityHandler($securityHandler);
     $this->assertArrayHasKey('list', $admin->getDashboardActions());
     $this->assertArrayHasKey('create', $admin->getDashboardActions());
 }
Пример #2
0
 public function testRemoveFieldFromFormGroup()
 {
     $formGroups = array('foobar' => array('fields' => array('foo' => 'foo', 'bar' => 'bar')));
     $admin = new PostAdmin('sonata.post.admin.post', 'Application\\Sonata\\NewsBundle\\Entity\\Post', 'SonataNewsBundle:PostAdmin');
     $admin->setFormGroups($formGroups);
     $admin->removeFieldFromFormGroup('foo');
     $this->assertEquals($admin->getFormGroups(), array('foobar' => array('fields' => array('bar' => 'bar'))));
     $admin->removeFieldFromFormGroup('bar');
     $this->assertEquals($admin->getFormGroups(), array());
 }
Пример #3
0
 /**
  * @covers Sonata\AdminBundle\Admin\Admin::configureActionButtons
  */
 public function testGetActionButtonsList()
 {
     $expected = array('create' => array('template' => 'SonataAdminBundle:Button:create_button.html.twig'));
     $admin = new PostAdmin('sonata.post.admin.post', 'NewsBundle\\Entity\\Post', 'SonataNewsBundle:PostAdmin');
     $this->assertSame($expected, $admin->getActionButtons('list', null));
 }
Пример #4
0
 public function testGetSubject()
 {
     $entity = new Post();
     $modelManager = $this->getMock('Sonata\\AdminBundle\\Model\\ModelManagerInterface');
     $modelManager->expects($this->any())->method('find')->will($this->returnValue($entity));
     $admin = new PostAdmin('sonata.post.admin.post', 'NewsBundle\\Entity\\Post', 'SonataNewsBundle:PostAdmin');
     $admin->setModelManager($modelManager);
     $admin->setRequest(new Request(array('id' => 'azerty')));
     $this->assertFalse($admin->getSubject());
     $admin->setSubject(null);
     $admin->setRequest(new Request(array('id' => 42)));
     $this->assertEquals($entity, $admin->getSubject());
     $admin->setSubject(null);
     $admin->setRequest(new Request(array('id' => '4f69bbb5f14a13347f000092')));
     $this->assertEquals($entity, $admin->getSubject());
     $admin->setSubject(null);
     $admin->setRequest(new Request(array('id' => '0779ca8d-e2be-11e4-ac58-0242ac11000b')));
     $this->assertEquals($entity, $admin->getSubject());
 }