コード例 #1
0
 public function testUpdateActivityDescription()
 {
     $activityList = $this->getMockBuilder('Oro\\Bundle\\ActivityListBundle\\Entity\\ActivityList')->getMock();
     $event = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Event\\EmailBodyAdded')->disableOriginalConstructor()->getMock();
     $email = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Entity\\Email')->disableOriginalConstructor()->getMock();
     $event->expects($this->exactly(1))->method('getEmail')->will($this->returnValue($email));
     $this->chainProvider->expects($this->exactly(1))->method('getUpdatedActivityList')->with($this->identicalTo($email), $this->identicalTo($this->entityManager))->will($this->returnValue($activityList));
     $this->entityManager->expects($this->exactly(1))->method('persist')->with($activityList);
     $this->listener->updateActivityDescription($event);
 }
コード例 #2
0
 public function testOnBuildMetadata()
 {
     $entity = Note::ENTITY_NAME;
     $alias = 'oro_bundle_notebundle_entity_note';
     $calls = 1;
     $config = $this->getMock('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigInterface');
     $this->configProvider->expects($this->any())->method('getConfig')->willReturn($config);
     $config->expects($this->exactly($calls))->method('get')->willReturn('label');
     $fieldMetadataOptions = ['display' => true, 'activity' => true, 'type' => $entity, 'field_name' => $alias, 'is_collection' => true, 'template' => 'OroActivityListBundle:Merge:value.html.twig', 'label' => 'Items', 'merge_modes' => [MergeModes::NOTES_UNITE, MergeModes::NOTES_REPLACE]];
     $fieldMetadata = new FieldMetadata($fieldMetadataOptions);
     $this->entityMetadata->expects($this->at(1))->method('addFieldMetadata')->with($this->equalTo($fieldMetadata));
     $this->activityListChainProvider->expects($this->exactly($calls))->method('isApplicableTarget')->willReturn(true);
     $event = new EntityMetadataEvent($this->entityMetadata);
     $this->listener->onBuildMetadata($event);
 }
コード例 #3
0
 public function setUp()
 {
     $this->activityListProvider = $this->getMockBuilder('Oro\\Bundle\\ActivityListBundle\\Provider\\ActivityListChainProvider')->disableOriginalConstructor()->getMock();
     $this->doctrine = $this->getMockBuilder('Doctrine\\Common\\Persistence\\ManagerRegistry')->disableOriginalConstructor()->getMock();
     $this->activityListProvider->expects($this->any())->method('getTargetEntityClasses')->will($this->returnValue(['Oro\\Bundle\\ActivityListBundle\\Tests\\Unit\\Placeholder\\Fixture\\TestTarget']));
     $this->doctrineHelper = $this->getMockBuilder('\\Oro\\Bundle\\EntityBundle\\ORM\\DoctrineHelper')->setMethods(['isNewEntity', 'isManageableEntity'])->setConstructorArgs([$this->doctrine])->getMock();
     $this->doctrineHelper->expects($this->any())->method('isNewEntity')->will($this->returnCallback(function ($entity) {
         if (method_exists($entity, 'getId')) {
             return !(bool) $entity->getId();
         }
         throw new \RuntimeException('Something wrong');
     }));
     $this->doctrineHelper->expects($this->any())->method('isManageableEntity')->willReturnCallback(function ($entity) {
         return !$entity instanceof TestNonManagedTarget;
     });
     $this->configureConfigProvider();
     $this->filter = new PlaceholderFilter($this->activityListProvider, $this->doctrine, $this->doctrineHelper, $this->configProvider);
 }
コード例 #4
0
 public function testExecuteActionWithoutAttribute()
 {
     $options = ['email' => '$.email', 'target_entity' => '$.target_entity'];
     $fakeContext = ['fake', 'things', 'are', 'here'];
     $this->contextAccessor->expects($this->at(0))->method('getValue')->with($this->equalTo($fakeContext), $this->equalTo('$.email'))->will($this->returnValue($email = new Email()));
     $this->contextAccessor->expects($this->at(1))->method('getValue')->with($this->equalTo($fakeContext), $this->equalTo('$.target_entity'))->will($this->returnValue($target = new User()));
     $this->contextAccessor->expects($this->never())->method('setValue');
     $this->activityListChainProvider->expects($this->any())->method('getActivityListEntitiesByActivityEntity')->with($this->equalTo($email))->will($this->returnValue($list = new ActivityList()));
     $this->entityManager->expects($this->once())->method('persist')->with($this->equalTo($list));
     $this->emailActivityManager->expects($this->once())->method('addAssociation')->with($this->equalTo($email), $this->equalTo($target))->will($this->returnValue(true));
     $this->action->initialize($options);
     $this->action->execute($fakeContext);
 }
コード例 #5
0
 public function testIsApplicable()
 {
     $repo = $this->getMockBuilder('Oro\\Bundle\\ActivityListBundle\\Entity\\Repository\\ActivityListRepository')->disableOriginalConstructor()->getMock();
     $this->doctrine->expects($this->any())->method('getRepository')->will($this->returnValue($repo));
     $repo->expects($this->any())->method('getRecordsCountForTargetClassAndId')->with('Oro\\Bundle\\ActivityListBundle\\Tests\\Unit\\Placeholder\\Fixture\\TestNonActiveTarget', 123)->willReturn(10);
     $entity = new TestNonActiveTarget(123);
     $entityClass = get_class($entity);
     $activityClass = 'Test\\Activity';
     $config = new Config(new EntityConfigId('activity', $entityClass));
     $config->set(ActivityScope::SHOW_ON_PAGE, '\\Oro\\Bundle\\ActivityBundle\\EntityConfig\\ActivityScope::VIEW_PAGE');
     $config->set('activities', [$activityClass]);
     $this->configManager->expects($this->once())->method('hasConfig')->with($entityClass)->willReturn(true);
     $this->configManager->expects($this->once())->method('getEntityConfig')->with('activity', $entityClass)->willReturn($config);
     $this->activityListProvider->expects($this->once())->method('getSupportedActivities')->willReturn([$activityClass]);
     $this->activityListProvider->expects($this->exactly(1))->method('isApplicableTarget')->with($entityClass, $activityClass)->willReturn(true);
     $this->assertTrue($this->filter->isApplicable($entity, ActivityScope::VIEW_PAGE));
 }