예제 #1
0
 /** @inheritdoc */
 public function registerForSaleItem(Request\RegisterForSaleItem $req)
 {
     $result = new Response\RegisterForSaleItem();
     $itemId = $req->getItemId();
     $prodId = $req->getProductId();
     $stockId = $req->getStockId();
     $qty = $req->getQuantity();
     if ($qty > 0) {
         /* get list of lots for the product */
         $lots = $this->_subRepo->getLotsByProductId($prodId, $stockId);
         $this->_subRepo->registerSaleItemQty($itemId, $qty, $lots);
     }
     $result->markSucceed();
     return $result;
 }
 public function test_registerForSaleItem()
 {
     /** === Test Data === */
     $ITEM_ID = 1;
     $PROD_ID = 1;
     $STOCK_ID = 1;
     $QTY = 8;
     /** === Call and asserts  === */
     $req = new Request\RegisterForSaleItem();
     $req->setItemId($ITEM_ID);
     $req->setProductId($PROD_ID);
     $req->setStockId($STOCK_ID);
     $req->setQuantity($QTY);
     $res = $this->obj->registerForSaleItem($req);
     $this->assertNotNull($res);
 }
 public function test_registerForSaleItem()
 {
     /** === Test Data === */
     $ITEM_ID = 21;
     $PRODUCT_ID = 432;
     $STOCK_ID = 1;
     $QTY = 4;
     /** === Setup Mocks === */
     // $lots = $this->_subRepo->getLotsByProductId($prodId, $stockId);
     $this->mSubRepo->shouldReceive('getLotsByProductId')->once()->andReturn('lots');
     // $this->_subRepo->registerSaleItemQty($itemId, $qty, $lots);
     $this->mSubRepo->shouldReceive('registerSaleItemQty')->once();
     /** === Call and asserts  === */
     $req = new Request\RegisterForSaleItem();
     $req->setItemId($ITEM_ID);
     $req->setProductId($PRODUCT_ID);
     $req->setStockId($STOCK_ID);
     $req->setQuantity($QTY);
     $res = $this->obj->registerForSaleItem($req);
     $this->assertTrue($res->isSucceed());
 }