public function test_productsFromOdoo_success() { /** === Test Data === */ $PROD_ID_ODOO = 21; $BUNDLE = $this->_mock(\Praxigento\Odoo\Data\Odoo\Inventory::class); $BUNDLE->shouldReceive('getOption', 'getWarehouses', 'getLots'); /** === Mock object itself === */ $this->obj = \Mockery::mock(Call::class . '[_doProductReplication]', $this->objArgs); /** === Setup Mocks === */ // $def = $this->_manTrans->begin(); $mDef = $this->_mockTransactionDefinition(); $this->mManTrans->shouldReceive('begin')->once()->andReturn($mDef); // $bundle = $this->_repoOdooInventory->get($ids); $this->mRepoOdooInventory->shouldReceive('get')->once()->andReturn($BUNDLE); // $this->_doProductReplication($bundle); $this->obj->shouldReceive('_doProductReplication')->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\ProductsFromOdoo(); $req->setOdooIds($PROD_ID_ODOO); $res = $this->obj->productsFromOdoo($req); $this->assertTrue($res->isSucceed()); }