public function testGetData() { $ruleId = 42; $ruleData = ['name' => 'Catalog Price Rule']; $ruleMock = $this->getMock('Magento\\CatalogRule\\Model\\Rule', [], [], '', false); $this->collectionMock->expects($this->once())->method('getItems')->willReturn([$ruleMock]); $ruleMock->expects($this->atLeastOnce())->method('getId')->willReturn($ruleId); $ruleMock->expects($this->once())->method('load')->willReturnSelf(); $ruleMock->expects($this->once())->method('getData')->willReturn($ruleData); $this->assertEquals([$ruleId => $ruleData], $this->model->getData()); // Load from object-cache the second time $this->assertEquals([$ruleId => $ruleData], $this->model->getData()); }
public function testGetDataIfRulePersisted() { $ruleId = 42; $ruleData = ['name' => 'Catalog Price Rule']; $this->collectionMock->expects($this->once())->method('getItems')->willReturn([]); $persistedData = ['key' => 'value']; $this->dataPersistorMock->expects($this->once())->method('get')->with('catalog_rule')->willReturn($persistedData); $newRuleMock = $this->getMock('Magento\\CatalogRule\\Model\\Rule', [], [], '', false); $newRuleMock->expects($this->atLeastOnce())->method('setData')->with($persistedData)->willReturnSelf(); $newRuleMock->expects($this->atLeastOnce())->method('getId')->willReturn($ruleId); $newRuleMock->expects($this->once())->method('getData')->willReturn($ruleData); $this->collectionMock->expects($this->once())->method('getNewEmptyItem')->willReturn($newRuleMock); $this->assertEquals([$ruleId => $ruleData], $this->model->getData()); // Load from object-cache the second time $this->assertEquals([$ruleId => $ruleData], $this->model->getData()); }