Exemplo n.º 1
0
 public function storeItem(ItemInterface $item) : ItemFactoryInterface
 {
     $event = new ItemFactoryEvent();
     $event->setItem($item)->setName(ItemFactoryEvents::STORE_ITEM);
     $this->getEventManager()->trigger($event, $this);
     return $this;
 }
Exemplo n.º 2
0
 public function storeItem(ItemFactoryEvent $event)
 {
     if ($event->getItem() instanceof SimpleTypeInterface) {
         $itemId = $event->getItem()->getId();
         $type = $this->getType($event->getItem());
         $conf = $event->getItem()->toArray();
         $this->getStorage()->store($itemId, $type, $conf);
     }
 }
Exemplo n.º 3
0
 public function testGettersAndSetters()
 {
     $event = new ItemFactoryEvent();
     $expectedItem = $this->getMock(ItemInterface::class);
     $this->assertFalse($event->hasItem());
     $this->assertInstanceOf(ItemFactoryEvent::class, $event->setItem($expectedItem));
     $this->assertTrue($event->hasItem());
     $this->assertEquals($expectedItem, $event->getItem());
 }
 public function storeItem(ItemFactoryEvent $event)
 {
     $item = $event->getItem();
     if ($item instanceof TreeTypeInterface) {
         $itemId = $item->getId();
         $type = $this->getType($item);
         $conf = $item->getBaseConfig();
         foreach ($item->getAll() as $subItem) {
             $this->getItemFactory()->storeItem($subItem);
         }
         $this->getStorage()->store($type, $itemId, $conf);
     }
 }
 public function testPrepare()
 {
     $expectedId = 'COL:EXAMPLEID';
     $expectedName = 'EXAMPLENAME';
     $subId = 'FRM:EXAMPLEID2';
     $subType = FormItem::class;
     $subItem = new FormItem();
     $subItem->setId($subId);
     $storage = $this->getMock(StorageInterface::class);
     $storage->expects($this->once())->method('get')->willReturn([CollectionItem::EXCHANGE_ID => $expectedId, CollectionItem::EXCHANGE_NAME => $expectedName, CollectionItemBuilderListener::ITEM_CONFIG_KEY => [[CollectionItemBuilderListener::SUB_ID => $subId, CollectionItemBuilderListener::SUB_TYPE => $subType]]]);
     $timetableManager = $this->getMock(TimetableManagerInterface::class);
     $timetableManager->method('getPointInTime')->willReturn(new \DateTime());
     $itemFactory = $this->getMock(ItemFactoryInterface::class);
     $itemFactory->expects($this->once())->method('getItem')->with($this->equalTo($subItem))->willReturn($subItem);
     $collectionItem = new CollectionItem();
     $collectionItem->setId($expectedId);
     $event = new ItemFactoryEvent();
     $event->setItem($collectionItem)->setName(ItemFactoryEvents::PREPARE_ITEM);
     $listener = new CollectionItemBuilderListener($storage, $timetableManager, $itemFactory);
     $listener->prepareItem($event);
     $this->assertEquals([$subItem], $collectionItem->getAll());
     $this->assertEquals($expectedId, $collectionItem->getId());
     $this->assertEquals($expectedName, $collectionItem->getName());
 }