Explorar el Código

[Tests] Add test for Admin::getSubject()

Maxime HERMOUET hace 10 años
padre
commit
2570d0e637
Se han modificado 1 ficheros con 27 adiciones y 0 borrados
  1. 27 0
      Tests/Admin/AdminTest.php

+ 27 - 0
Tests/Admin/AdminTest.php

@@ -1571,6 +1571,33 @@ class AdminTest extends \PHPUnit_Framework_TestCase
         $this->assertSame($barFieldDescription, $modelAdmin->getFilterFieldDescription('bar'));
         $this->assertSame($bazFieldDescription, $modelAdmin->getFilterFieldDescription('baz'));
     }
+
+    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());
+    }
 }
 
 class DummySubject