helper = new SC_Helper_Purchase_rollbackOrderMock(); } protected function tearDown() { parent::tearDown(); } ///////////////////////////////////////// public function testRollbackOrder_デフォルトの引数で呼び出した場合_カートの状態をロールバックして元に戻る(){ $this->objQuery->begin(); $order_id = '1001'; $uniqid = $this->helper->rollbackOrder($order_id); $this->actual['testResult'] = $this->helper->testResult; $this->actual['siteRegist'] = $_SESSION['site']['regist_success']; $this->expected = array( 'testResult' => array( 'cancelOrder' => array( 'order_id' => '1001', 'orderStatus' => ORDER_CANCEL, 'is_delete' => false ), 'getOrderTempByOrderId' => array( 'order_id' => '1001' ), 'saveOrderTemp' => array( 'uniqid' => $uniqid, 'arrOrderTemp' => array( 'customer_id' => '2001', 'del_flg' => '0' ) ), 'verifyChangeCart' => array( 'uniqid' => $uniqid ) ), 'siteRegist' => true ); $this->verify(); } /** * 実際にトランザクションを開始したかどうかはテストできないが、 * 問題なく処理が完了することのみ確認 */ public function testRollbackOrder_トランザクションが開始していない場合_内部で開始する() { $order_id = '1001'; $uniqid = $this->helper->rollbackOrder($order_id, ORDER_DELIV, true); $this->actual['testResult'] = $this->helper->testResult; $this->actual['siteRegist'] = $_SESSION['site']['regist_success']; $this->expected = array( 'testResult' => array( 'cancelOrder' => array( 'order_id' => '1001', 'orderStatus' => ORDER_DELIV, 'is_delete' => true ), 'getOrderTempByOrderId' => array( 'order_id' => '1001' ), 'saveOrderTemp' => array( 'uniqid' => $uniqid, 'arrOrderTemp' => array( 'customer_id' => '2001', 'del_flg' => '0' ) ), 'verifyChangeCart' => array( 'uniqid' => $uniqid ) ), 'siteRegist' => true ); $this->verify(); } ////////////////////////////////////////// } class SC_Helper_Purchase_rollbackOrderMock extends SC_Helper_Purchase { public $testResult = array(); function cancelOrder($order_id, $orderStatus, $is_delete) { $this->testResult['cancelOrder'] = array( 'order_id' => $order_id, 'orderStatus' => $orderStatus, 'is_delete' => $is_delete ); } function getOrderTempByOrderId($order_id) { $this->testResult['getOrderTempByOrderId'] = array( 'order_id' => $order_id ); return array( 'customer_id' => '2001' ); } function saveOrderTemp($uniqid, $arrOrderTemp, $objCustomer) { $this->testResult['saveOrderTemp'] = array( 'uniqid' => $uniqid, 'arrOrderTemp' => $arrOrderTemp ); } function verifyChangeCart($uniqid, $objCartSession) { $this->testResult['verifyChangeCart'] = array( 'uniqid' => $uniqid ); } }