Added tests for Doctrine Listeners
This commit is contained in:
parent
231e3a0b06
commit
539bbebdd5
90
Tests/Doctrine/MongoDB/ListenerTest.php
Normal file
90
Tests/Doctrine/MongoDB/ListenerTest.php
Normal file
|
@ -0,0 +1,90 @@
|
|||
<?php
|
||||
|
||||
namespace FOQ\ElasticaBundle\Tests\Doctrine\MongoDB;
|
||||
|
||||
use FOQ\ElasticaBundle\Doctrine\MongoDB\Listener;
|
||||
|
||||
class Document{}
|
||||
|
||||
/**
|
||||
* @author Richard Miller <info@limethinking.co.uk>
|
||||
*/
|
||||
class ListenerTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
|
||||
public function testObjectInsertedOnPersist()
|
||||
{
|
||||
$persisterMock = $this->getMockBuilder('FOQ\ElasticaBundle\Persister\ObjectPersisterInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$eventArgsMock = $this->getMockBuilder('Doctrine\ODM\MongoDB\Event\LifecycleEventArgs')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$objectName = 'FOQ\ElasticaBundle\Tests\Doctrine\MongoDB\Document';
|
||||
$document = new Document();
|
||||
|
||||
$eventArgsMock->expects($this->once())
|
||||
->method('getDocument')
|
||||
->will($this->returnValue($document));
|
||||
|
||||
$persisterMock->expects($this->once())
|
||||
->method('insertOne')
|
||||
->with($this->equalTo($document));
|
||||
|
||||
$listener = new Listener($persisterMock, $objectName, array(), null);
|
||||
$listener->postPersist($eventArgsMock);
|
||||
}
|
||||
|
||||
public function testObjectReplacedOnUpdate()
|
||||
{
|
||||
$persisterMock = $this->getMockBuilder('FOQ\ElasticaBundle\Persister\ObjectPersisterInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$eventArgsMock = $this->getMockBuilder('Doctrine\ODM\MongoDB\Event\LifecycleEventArgs')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$objectName = 'FOQ\ElasticaBundle\Tests\Doctrine\MongoDB\Document';
|
||||
$document = new Document();
|
||||
|
||||
$eventArgsMock->expects($this->once())
|
||||
->method('getDocument')
|
||||
->will($this->returnValue($document));
|
||||
|
||||
$persisterMock->expects($this->once())
|
||||
->method('replaceOne')
|
||||
->with($this->equalTo($document));
|
||||
|
||||
$listener = new Listener($persisterMock, $objectName, array(), null);
|
||||
$listener->postUpdate($eventArgsMock);
|
||||
}
|
||||
|
||||
public function testObjectDeletedOnRemove()
|
||||
{
|
||||
$persisterMock = $this->getMockBuilder('FOQ\ElasticaBundle\Persister\ObjectPersisterInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$eventArgsMock = $this->getMockBuilder('Doctrine\ODM\MongoDB\Event\LifecycleEventArgs')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$objectName = 'FOQ\ElasticaBundle\Tests\Doctrine\MongoDB\Document';
|
||||
$document = new Document();
|
||||
|
||||
$eventArgsMock->expects($this->once())
|
||||
->method('getDocument')
|
||||
->will($this->returnValue($document));
|
||||
|
||||
$persisterMock->expects($this->once())
|
||||
->method('deleteOne')
|
||||
->with($this->equalTo($document));
|
||||
|
||||
$listener = new Listener($persisterMock, $objectName, array(), null);
|
||||
$listener->postRemove($eventArgsMock);
|
||||
}
|
||||
|
||||
}
|
90
Tests/Doctrine/ORM/ListenerTest.php
Normal file
90
Tests/Doctrine/ORM/ListenerTest.php
Normal file
|
@ -0,0 +1,90 @@
|
|||
<?php
|
||||
|
||||
namespace FOQ\ElasticaBundle\Tests\Doctrine\ORM;
|
||||
|
||||
use FOQ\ElasticaBundle\Doctrine\ORM\Listener;
|
||||
|
||||
class Entity{}
|
||||
|
||||
/**
|
||||
* @author Richard Miller <info@limethinking.co.uk>
|
||||
*/
|
||||
class ListenerTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
|
||||
public function testObjectInsertedOnPersist()
|
||||
{
|
||||
$persisterMock = $this->getMockBuilder('FOQ\ElasticaBundle\Persister\ObjectPersisterInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$eventArgsMock = $this->getMockBuilder('Doctrine\ORM\Event\LifecycleEventArgs')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$objectName = 'FOQ\ElasticaBundle\Tests\Doctrine\ORM\Entity';
|
||||
$entity = new Entity;
|
||||
|
||||
$eventArgsMock->expects($this->once())
|
||||
->method('getEntity')
|
||||
->will($this->returnValue($entity));
|
||||
|
||||
$persisterMock->expects($this->once())
|
||||
->method('insertOne')
|
||||
->with($this->equalTo($entity));
|
||||
|
||||
$listener = new Listener($persisterMock, $objectName, array(), null);
|
||||
$listener->postPersist($eventArgsMock);
|
||||
}
|
||||
|
||||
public function testObjectReplacedOnUpdate()
|
||||
{
|
||||
$persisterMock = $this->getMockBuilder('FOQ\ElasticaBundle\Persister\ObjectPersisterInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$eventArgsMock = $this->getMockBuilder('Doctrine\ORM\Event\LifecycleEventArgs')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$objectName = 'FOQ\ElasticaBundle\Tests\Doctrine\ORM\Entity';
|
||||
$entity = new Entity;
|
||||
|
||||
$eventArgsMock->expects($this->once())
|
||||
->method('getEntity')
|
||||
->will($this->returnValue($entity));
|
||||
|
||||
$persisterMock->expects($this->once())
|
||||
->method('replaceOne')
|
||||
->with($this->equalTo($entity));
|
||||
|
||||
$listener = new Listener($persisterMock, $objectName, array(), null);
|
||||
$listener->postUpdate($eventArgsMock);
|
||||
}
|
||||
|
||||
public function testObjectDeletedOnRemove()
|
||||
{
|
||||
$persisterMock = $this->getMockBuilder('FOQ\ElasticaBundle\Persister\ObjectPersisterInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$eventArgsMock = $this->getMockBuilder('Doctrine\ORM\Event\LifecycleEventArgs')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$objectName = 'FOQ\ElasticaBundle\Tests\Doctrine\ORM\Entity';
|
||||
$entity = new Entity;
|
||||
|
||||
$eventArgsMock->expects($this->once())
|
||||
->method('getEntity')
|
||||
->will($this->returnValue($entity));
|
||||
|
||||
$persisterMock->expects($this->once())
|
||||
->method('deleteOne')
|
||||
->with($this->equalTo($entity));
|
||||
|
||||
$listener = new Listener($persisterMock, $objectName, array(), null);
|
||||
$listener->postRemove($eventArgsMock);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue