public function testSetJoinClass()
 {
     $serviceManager = Bootstrap::getApplication()->getServiceManager();
     $moduleOptions = clone $serviceManager->get('auditModuleOptions');
     $moduleOptions->setDefaults(array());
     $this->assertEquals($moduleOptions, $moduleOptions->addJoinClass('test', array()));
 }
 public function testRevisionsAreReturnedInPaginator()
 {
     $sm = Bootstrap::getApplication()->getServiceManager();
     $helper = $sm->get('viewhelpermanager')->get('auditEntityOptions');
     $helper('ZFTest\\Doctrine\\Audit\\Models\\Bootstrap\\Song');
     $helper();
 }
 public function testGetRevisionIdentifierValue()
 {
     $serviceManager = Bootstrap::getApplication()->getServiceManager();
     $auditObjectManager = $serviceManager->get('doctrine.entitymanager.orm_zf_doctrine_audit');
     $artist = new Entity\Artist();
     $auditClass = $auditObjectManager->getRepository('ZF\\Doctrine\\Audit\\Entity\\AuditEntity')->generateClassName(get_class($artist));
     $this->assertEquals('ZF\\Doctrine\\Audit\\RevisionEntity\\ZFTest_Doctrine_Audit_Entity_Artist', $auditClass);
 }
 public function testViewHelperConfig()
 {
     $sm = Bootstrap::getApplication()->getServiceManager();
     $helper = $sm->get('viewhelpermanager')->get('auditDateTimeFormatter');
     $now = new \DateTime();
     $helper->setDateTimeFormat('U');
     $this->assertEquals($helper($now), $now->format('U'));
 }
 public function testDoesNotReturnRevisionEntity()
 {
     $sm = Bootstrap::getApplication()->getServiceManager();
     $em = \ZF\Doctrine\Audit\Module::getModuleOptions()->getEntityManager();
     $helper = $sm->get('viewhelpermanager')->get('auditCurrentRevisionEntity');
     $entity = new Album();
     $revisionEntity = $helper($entity);
     $this->assertEquals(null, $revisionEntity);
 }
 function testClearComment()
 {
     $serviceManager = Bootstrap::getApplication()->getServiceManager();
     $revisionComment = $serviceManager->get('ZF\\Doctrine\\Audit\\Service\\RevisionComment');
     $revisionComment->setComment('unittest');
     $this->assertEquals('unittest', $revisionComment->getComment());
     $revisionComment->setComment(null);
     $this->assertEquals(null, $revisionComment->getComment());
 }
 public function testGettersAndSetters()
 {
     $em = Bootstrap::getApplication()->getServiceManager()->get("doctrine.entitymanager.orm_default");
     $sm = Bootstrap::getApplication()->getServiceManager();
     $entity = new Album();
     $entity->setTitle('test 1');
     $em->persist($entity);
     $em->flush();
     $helper = $sm->get('viewhelpermanager')->get('auditCurrentRevisionEntity');
     $revisionEntity = $helper($entity);
     $this->assertEquals('INS', $revisionEntity->getRevisionType());
     $this->assertEquals($entity, $revisionEntity->getTargetEntity());
     $this->assertEquals('ZFTest\\Doctrine\\Audit\\Models\\Bootstrap\\Album', $revisionEntity->getTargetEntityClass());
 }
 public function testPaginatorCanAcceptAuditedClassName()
 {
     $sm = Bootstrap::getApplication()->getServiceManager();
     $em = \ZF\Doctrine\Audit\Module::getModuleOptions()->getEntityManager();
     $helper = $sm->get('viewhelpermanager')->get('auditRevisionEntityPaginator');
     $revisionEntities = $em->getRepository('ZF\\Doctrine\\Audit\\Entity\\RevisionEntity')->findAll();
     $count = sizeof($revisionEntities);
     $paginator = $helper($page = 0, get_class(array_shift($revisionEntities)->getTargetEntity()));
     $paginatedcount = 0;
     foreach ($paginator as $row) {
         $paginatedcount++;
     }
     $this->assertGreaterThan(0, $count);
     $this->assertEquals($count, $paginatedcount);
 }
 public function testRevisionEntityActionCanBeAccessed()
 {
     $em = Bootstrap::getApplication()->getServiceManager()->get("doctrine.entitymanager.orm_default");
     $sm = Bootstrap::getApplication()->getServiceManager();
     $entity = new Album();
     $entity->setTitle('test 1');
     $em->persist($entity);
     $em->flush();
     $helper = $sm->get('viewhelpermanager')->get('auditCurrentRevisionEntity');
     $revisionEntity = $helper($entity);
     if (!$revisionEntity) {
         die('helper did not return current revision entity');
     }
     $this->routeMatch->setParam('action', 'revision-entity');
     $this->routeMatch->setParam('controller', 'audit');
     $this->routeMatch->setParam('revisionEntityId', $revisionEntity->getId());
     $result = $this->controller->dispatch($this->request);
     $response = $this->controller->getResponse();
     $this->assertEquals(200, $response->getStatusCode());
 }
 public function testGetRevisionIdentifierValue()
 {
     $serviceManager = Bootstrap::getApplication()->getServiceManager();
     $objectManager = $serviceManager->get('doctrine.entitymanager.orm_default');
     $auditObjectManager = $serviceManager->get('doctrine.entitymanager.orm_zf_doctrine_audit');
     $revisionComment = $serviceManager->get('ZF\\Doctrine\\Audit\\Service\\RevisionComment');
     $artist = new Entity\Artist();
     $artist->setName('unittest');
     $objectManager->persist($artist);
     $revisionComment->setComment('Add Artist');
     $objectManager->flush();
     $artist->setName('unit-test');
     $revisionComment->setComment('Change Artist');
     $objectManager->flush();
     $revision = $auditObjectManager->getRepository('ZF\\Doctrine\\Audit\\Entity\\Revision')->findOneBy(['comment' => 'Change Artist']);
     foreach ($revision->getRevisionEntity() as $revisionEntity) {
         foreach ($revisionEntity->getRevisionEntityIdentifierValue() as $value) {
             $this->assertEquals(1, $value->getValue());
         }
     }
 }
 public function testRevisionComment()
 {
     // Inserting data insures we will have a result > 0
     $em = \ZF\Doctrine\Audit\Module::getModuleOptions()->getEntityManager();
     $service = \ZF\Doctrine\Audit\Module::getModuleOptions()->getAuditService();
     $entity = new Album();
     $entity->setTitle('Test 1');
     $service->setComment('Test service comment is persisted on revision');
     $service = \ZF\Doctrine\Audit\Module::getModuleOptions()->getAuditService();
     $this->assertEquals('Test service comment is persisted on revision', $service->getComment());
     return;
     $em->persist($entity);
     $em->flush();
     $x = $em->getRepository('ZF\\Doctrine\\Audit\\Entity\\Revision')->findAll();
     print_r($x);
     $em->persist($entity);
     $em->flush();
     $helper = Bootstrap::getApplication()->getServiceManager()->get('viewhelpermanager')->get('auditCurrentRevisionEntity');
     $lastEntityRevision = $helper($entity);
     print_r($lastEntityRevision->getRevision());
     die;
     $this->assertEquals('test 2', $lastEntityRevision->getRevision()->getComment());
 }
 public function testRevisionsAreReturnedInPaginator()
 {
     $sm = Bootstrap::getApplication()->getServiceManager();
     $em = Bootstrap::getApplication()->getServiceManager()->get("doctrine.entitymanager.orm_default");
     $helper = $sm->get('viewhelpermanager')->get('auditRevisionPaginator');
     $revisions = $em->getRepository('ZF\\Doctrine\\Audit\\Entity\\Revision')->findAll();
     $count = sizeof($revisions);
     $paginator = $helper($page = 0);
     $paginatedcount = 0;
     foreach ($paginator as $row) {
         $paginatedcount++;
     }
     $this->assertGreaterThan(0, $count);
     $this->assertEquals($count, $paginatedcount);
     // Test paginator filter
     $revision1 = array_shift($revisions);
     $paginator = $helper($page = 0, array('id' => $revision1->getId(), 'user' => null));
     $paginatedcount = 0;
     foreach ($paginator as $row) {
         $paginatedcount++;
     }
     $this->assertEquals(1, $paginatedcount);
 }
 function testAuditAutoloader()
 {
     $serviceManager = Bootstrap::getApplication()->getServiceManager();
     $auditAutoLoader = $serviceManager->get('ZF\\Doctrine\\Audit\\Loader\\AuditAutoLoader');
     $this->assertTrue($auditAutoLoader instanceof AuditAutoLoader);
 }