示例#1
0
 public function testTransform()
 {
     $entity = $this->getMock('Oro\\Bundle\\TagBundle\\Entity\\Taggable');
     $this->transformer->setEntity($entity);
     $resultArray = array(array('some key' => 'some value'));
     $phpUnit = $this;
     $this->manager->expects($this->once())->method('getPreparedArray')->will($this->returnCallback(function ($entityArg, $tagsArg) use($phpUnit, $entity, $resultArray) {
         $phpUnit->assertEquals($entity, $entityArg);
         $phpUnit->assertInstanceOf('Doctrine\\Common\\Collections\\ArrayCollection', $tagsArg);
         return $resultArray;
     }))->will($this->returnValue($resultArray));
     $this->assertEquals($this->transformer->transform(array()), json_encode($resultArray));
 }
示例#2
0
 /**
  * Loads tagging and transform it to view data
  *
  * @param FormEvent $event
  */
 public function preSet(FormEvent $event)
 {
     $entity = $event->getForm()->getParent()->getData();
     if (!$entity instanceof Taggable) {
         // do nothing if new entity or some error
         return;
     }
     $tags = $this->manager->getPreparedArray($entity);
     $ownTags = array_filter($tags, function ($item) {
         return isset($item['owner']) && $item['owner'];
     });
     // pass entity to transformer
     $this->transformer->setEntity($entity);
     $event->setData(array('autocomplete' => null, 'all' => json_encode($tags), 'owner' => json_encode($ownTags)));
 }
示例#3
0
 /**
  * @dataProvider valueTransformProvider
  *
  * @param $expected
  * @param $value
  */
 public function testTransform($expected, $value)
 {
     $this->assertEquals($expected, $this->transformer->transform($value));
 }