示例#1
0
 /**
  * @param object $entity
  * @param bool $mockToken
  * @param bool $mockUser
  * @dataProvider prePersistAndPreUpdateDataProvider
  */
 public function testPrePersist($entity, $mockToken = false, $mockUser = false)
 {
     $initialEntity = clone $entity;
     $user = $mockUser ? new User() : null;
     $this->mockSecurityContext($mockToken, $mockUser, $user);
     $em = $this->getEntityManagerMock();
     if ($mockUser) {
         $uow = $this->getMockBuilder('Doctrine\\ORM\\UnitOfWork')->disableOriginalConstructor()->getMock();
         $em->expects($this->any())->method('getUnitOfWork')->will($this->returnValue($uow));
     }
     $args = new LifecycleEventArgs($entity, $em);
     $this->contactListener->prePersist($args);
     if (!$entity instanceof Contact) {
         $this->assertEquals($initialEntity, $entity);
         return;
     }
     $this->assertInstanceOf('\\DateTime', $entity->getCreatedAt());
     $this->assertInstanceOf('\\DateTime', $entity->getUpdatedAt());
     if ($mockToken && $mockUser) {
         $this->assertEquals($user, $entity->getCreatedBy());
         $this->assertEquals($user, $entity->getUpdatedBy());
     } else {
         $this->assertNull($entity->getCreatedBy());
         $this->assertNull($entity->getUpdatedBy());
     }
 }
示例#2
0
 public function testPrePersistWithAlreadySetCreatedAtAndCreatedBy()
 {
     $entity = new Contact();
     $createdAt = new \DateTime();
     $createdBy = new User();
     $entity->setCreatedAt($createdAt)->setCreatedBy($createdBy);
     $this->mockSecurityContext();
     $em = $this->getEntityManagerMock();
     $args = new LifecycleEventArgs($entity, $em);
     $this->contactListener->prePersist($args);
     $this->assertSame($createdAt, $entity->getCreatedAt());
     $this->assertSame($createdBy, $entity->getCreatedBy());
 }