Пример #1
0
 public function testObjectName()
 {
     $audit = new Audit();
     $name = 'LoggedObject';
     $this->assertEmpty($audit->getObjectName());
     $audit->setObjectName($name);
     $this->assertEquals($name, $audit->getObjectName());
 }
Пример #2
0
 public function testGetDataShouldRetrieveOldFormadUsingFields()
 {
     $oldDate = new DateTime();
     $newDate = new DateTime();
     $audit = new Audit();
     $audit->createField('field', 'integer', 1, 0);
     $audit->createField('field2', 'string', 'new_', '_old');
     $audit->createField('field3', 'date', $newDate, $oldDate);
     $audit->createField('field4', 'datetime', $newDate, $oldDate);
     $this->assertEquals(['field' => ['new' => 1, 'old' => 0], 'field2' => ['new' => 'new_', 'old' => '_old'], 'field3' => ['new' => ['value' => $newDate, 'type' => 'date'], 'old' => ['value' => $oldDate, 'type' => 'date']], 'field4' => ['new' => ['value' => $newDate, 'type' => 'datetime'], 'old' => ['value' => $oldDate, 'type' => 'datetime']]], $audit->getData());
 }
 /**
  * @depends testOnFlush
  * @depends testListenerCanBeCreated
  */
 public function testPostFlush(Audit $audit, DeprecatedAuditDataListener $deprecatedAuditDataListener)
 {
     $classMetadata = $this->getMock('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata');
     $classMetadata->expects($this->exactly(2))->method('getTypeOfField')->withConsecutive(['stringField'], ['intField'])->willReturnOnConsecutiveCalls('string', 'integer');
     $this->em->expects($this->once())->method('getClassMetadata')->with('class')->will($this->returnValue($classMetadata));
     $this->em->expects($this->once())->method('flush');
     $this->assertEmpty($audit->getFields());
     $postFlushEventArgs = new PostFlushEventArgs($this->em);
     $deprecatedAuditDataListener->postFlush($postFlushEventArgs);
     $this->assertCount(2, $audit->getFields());
     $stringField = $audit->getField('stringField');
     $this->assertEquals('oldValue', $stringField->getOldValue());
     $this->assertEquals('newValue', $stringField->getNewValue());
     $this->assertEquals('text', $stringField->getDataType());
     $intField = $audit->getField('intField');
     $this->assertEquals(3, $intField->getOldValue());
     $this->assertEquals(5, $intField->getNewValue());
     $this->assertEquals('integer', $intField->getDataType());
     $this->assertNull($audit->getDeprecatedData());
 }
Пример #4
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     /** @var User $user */
     $user = $manager->getRepository('OroUserBundle:User')->findOneBy(['username' => 'admin']);
     $logEntry = new Audit();
     $logEntry->setAction('update');
     $logEntry->setObjectClass('Oro\\Bundle\\UserBundle\\Entity\\User');
     $logEntry->setLoggedAt();
     $logEntry->setUser($user);
     $logEntry->setOrganization($user->getOrganization());
     $logEntry->setObjectName('test_user');
     $logEntry->setObjectId($user->getId());
     $logEntry->createField('username', 'text', 'new_value', 'old_value');
     $logEntry->setVersion(1);
     $manager->persist($logEntry);
     $manager->flush();
     $this->setReference('audit_log_entry', $logEntry);
 }