23 private $objectManagerHelper;
28 private $dataCollection;
38 private $indexerRegistryMock;
43 private $entityFactoryMock;
50 $this->objectManagerHelper =
new ObjectManagerHelper($this);
52 $this->configMock = $this->getMockBuilder(ConfigInterface::class)
53 ->getMockForAbstractClass();
55 $this->indexerRegistryMock = $this->getMockBuilder(IndexerRegistry::class)
56 ->disableOriginalConstructor()
59 $this->entityFactoryMock = $this->getMockBuilder(EntityFactoryInterface::class)
62 $this->dataCollection = $this->objectManagerHelper->getObject(
63 DataCollection::class,
65 'entityFactory' => $this->entityFactoryMock,
66 'config' => $this->configMock,
67 'indexerRegistry' => $this->indexerRegistryMock,
79 foreach ($indexersData as $indexerId =>
$data) {
84 ->method(
'getIndexers')
85 ->willReturn($indexersData);
86 $this->entityFactoryMock
88 ->willReturnMap([[DataObject::class, [],
new DataObject()]]);
89 $this->indexerRegistryMock
90 ->expects($this->exactly(count($indexersData)))
92 ->willReturnMap($calls);
93 $this->assertFalse((
bool)$this->dataCollection->isLoaded());
94 foreach ($this->dataCollection->getItems() as
$item) {
105 array_keys(
$item->getData())
110 $indexersData[
$item->getData(
'indexer_id')],
115 $this->assertTrue($this->dataCollection->isLoaded());
127 'getId' =>
'indexer_2',
128 'getTitle' =>
'Title_2',
129 'getDescription' =>
'Description_2',
130 'isScheduled' =>
true,
132 'getLatestUpdated' =>
'2017/07/01' 135 'getId' =>
'indexer_3',
136 'getTitle' =>
'Title_3',
137 'getDescription' =>
'Description_3',
138 'isScheduled' =>
true,
140 'getLatestUpdated' =>
'2017/07/02' 143 'getId' =>
'indexer_1',
144 'getTitle' =>
'Title_1',
145 'getDescription' =>
'Description_1',
146 'isScheduled' =>
false,
148 'getLatestUpdated' =>
'2017/07/03' 159 private function getIndexerMock(array
$data = [])
162 $indexer = $this->getMockBuilder(IndexerInterface::class)
163 ->getMockForAbstractClass();
166 ->method($methodName)
testLoadData(array $indexersData)