public function test_orderSave() { /** === Test Data === */ $ORDER_ID_MAGE = 4; $ORDER_ID_ODOO = 16; $REQ = new \Praxigento\Odoo\Service\Replicate\Request\OrderSave(); /** === Setup Mocks === */ // $mageOrder = $req->getSaleOrder(); $mMageOrder = $this->_mock(\Magento\Sales\Api\Data\OrderInterface::class); $REQ->setSaleOrder($mMageOrder); // $orderIdMage = $mageOrder->getEntityId(); $mMageOrder->shouldReceive('getEntityId')->once()->andReturn($ORDER_ID_MAGE); // $registeredOrder = $this->_repoEntitySaleOrder->getById($orderIdMage); $mRegisteredOrder = null; $this->mRepoEntitySaleOrder->shouldReceive('getById')->once()->with($ORDER_ID_MAGE)->andReturn($mRegisteredOrder); // $odooOrder = $this->_subCollector->getSaleOrder($mageOrder); $mOdooOrder = $this->_mock(\Praxigento\Odoo\Data\Odoo\SaleOrder::class); $this->mSubCollector->shouldReceive('getSaleOrder')->once()->andReturn($mOdooOrder); // $def = $this->_manTrans->begin(); $mDef = $this->_mockTransactionDefinition(); $this->mManTrans->shouldReceive('begin')->once()->andReturn($mDef); // $resp = $this->_repoOdooSaleOrder->save($odooOrder); $mResp = $this->_mock(\Praxigento\Odoo\Data\Odoo\SaleOrder\Response::class); $this->mRepoOdooSaleOrder->shouldReceive('save')->once()->andReturn($mResp); // $mageId = $mageOrder->getEntityId(); $mMageOrder->shouldReceive('getEntityId')->once()->andReturn($ORDER_ID_MAGE); // $odooId = $resp->getIdOdoo(); $mResp->shouldReceive('getIdOdoo')->once()->andReturn($ORDER_ID_ODOO); // $this->_repoEntitySaleOrder->create($registry); $this->mRepoEntitySaleOrder->shouldReceive('create')->once(); // $this->_manTrans->commit($def); $this->mManTrans->shouldReceive('commit')->once(); // $this->_manTrans->end($def); $this->mManTrans->shouldReceive('end')->once(); /** === Call and asserts === */ $res = $this->obj->orderSave($REQ); $this->assertTrue($res instanceof \Praxigento\Odoo\Service\Replicate\Response\OrderSave); $this->assertTrue($res->isSucceed()); }