/** * @SuppressWarnings(PHPMD.ShortVariable) */ public function test_save() { /** === Test Data === */ $operId = 21; $datePaid = 'paid'; $prodId = 32; $stockId = 4; $itemId = 64; $pv = 12.44; $qty = 4; $item = $this->_mock(\Praxigento\Pv\Service\Sale\Data\Item::class); $items = [$item]; /** === Setup Mocks === */ // $def = $this->_manTrans->begin(); $mDef = $this->_mockTransactionDefinition(); $this->mManTrans->shouldReceive('begin')->once()->andReturn($mDef); // // FIRST ITERATION // // $prodId = $item->getProductId(); $item->shouldReceive('getProductId')->once()->andReturn($prodId); // $stockId = $item->getStockId(); $item->shouldReceive('getStockId')->once()->andReturn($stockId); // $itemId = $item->getItemId(); $item->shouldReceive('getItemId')->once()->andReturn($itemId); // $pv = $this->_repoStockItem->getPvByProductAndStock($prodId, $stockId); $this->mRepoStockItem->shouldReceive('getPvByProductAndStock')->once()->with($prodId, $stockId)->andReturn($pv); // $qty = $item->getQuantity(); $item->shouldReceive('getQuantity')->once()->andReturn($qty); // $this->_repoSaleItem->replace($eItem); $this->mRepoSaleItem->shouldReceive('replace')->once(); // // $this->_repoSale->replace($orderData); $this->mRepoSale->shouldReceive('replace')->once(); // $this->_manTrans->commit($def); $this->mManTrans->shouldReceive('commit')->once(); // $this->_manTrans->end($def); $this->mManTrans->shouldReceive('end')->once(); /** === Call and asserts === */ $req = new Request\Save(); $req->setSaleOrderId($operId); $req->setSaleOrderDatePaid($datePaid); $req->setOrderItems($items); $resp = $this->obj->save($req); $this->assertTrue($resp->isSucceed()); }
public function test_main() { $this->_logger->debug('Story01 in PV Integration tests is started.'); $this->_callSale->cacheReset(); $this->_conn->beginTransaction(); try { $this->_createMageCustomer(); $this->_createMageProducts(); $this->_createWarehousePv(); $this->_createMageSaleOrder(); $this->_savePv(); $this->_accountPv(); $this->_checkOperation(); } finally { // $this->_conn->commit(); $this->_conn->rollBack(); } $this->_logger->debug('Story01 in PV Integration tests is completed, all transactions are rolled back.'); }