/** * Test method refreshByOrderId() */ public function testRefreshByOrderId() { $orderId = 1; $this->orderGridMock->expects($this->once())->method('getOrderIdField')->willReturn('sfo.entity_id'); $this->invoiceGridMock->expects($this->once())->method('getOrderIdField')->willReturn('sfo.entity_id'); $this->shipmentGridMock->expects($this->once())->method('getOrderIdField')->willReturn('sfo.entity_id'); $this->creditmemoGridMock->expects($this->once())->method('getOrderIdField')->willReturn('sfo.entity_id'); $this->orderGridMock->expects($this->once())->method('refresh')->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))->will($this->returnValue($this->statementMock)); $this->invoiceGridMock->expects($this->once())->method('refresh')->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))->will($this->returnValue($this->statementMock)); $this->shipmentGridMock->expects($this->once())->method('refresh')->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))->will($this->returnValue($this->statementMock)); $this->creditmemoGridMock->expects($this->once())->method('refresh')->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))->will($this->returnValue($this->statementMock)); $this->assertEquals($this->gridPool, $this->gridPool->refreshByOrderId($orderId)); }
/** * Update related grid table after object save * * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object * @return \Magento\Framework\Model\ModelResource\Db\AbstractDb */ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object) { $resource = parent::_afterSave($object); if ($object->getParentId()) { $this->gridPool->refreshByOrderId($object->getParentId()); } return $resource; }
/** * Refresh addresses in grids according to performed changed * This is manual admin action, as result we perform this operation without delay * * @param EventObserver $observer * @return void */ public function execute(EventObserver $observer) { $this->gridPool->refreshByOrderId($observer->getOrderId()); }