/**
  * @test
  */
 public function shouldRedirectToRedsysSite()
 {
     $model = array('Ds_Merchant_Amount' => 1000, 'Ds_Merchant_Order' => '1234', 'Ds_Merchant_Currency' => '978', 'Ds_Merchant_TransactionType' => 0, 'Ds_Merchant_MerchantURL' => 'https://sis-t.sermepa.es:25443/sis/realizarPago');
     $apiMock = $this->createApiMock();
     $gatewayMock = $this->createGatewayMock();
     $gatewayMock->expects($this->never())->method('execute')->with($this->isInstanceOf('Payum\\Core\\Request\\GetHttpRequest'));
     $action = new CaptureAction();
     $action->setApi($apiMock);
     $request = new Capture($model);
     try {
         $action->execute($request);
     } catch (HttpPostRedirect $e) {
         // make sure all fields are passed with the correct value
         $postFields = $e->getFields();
         foreach ($model as $key => $value) {
             $this->assertEquals($value, $postFields[$key]);
         }
         // check oder fields not present in the model are passed
         $this->assertArrayHasKey('Ds_Merchant_MerchantCode', $postFields);
         $this->assertArrayHasKey('Ds_Merchant_Terminal', $postFields);
         $this->assertArrayHasKey('Ds_Signature', $postFields);
         return;
     }
     $this->fail('Expected an HttpPostRedirect');
 }
 /**
  * @test
  *
  * @expectedException \Payum\Core\Reply\HttpPostRedirect
  */
 public function shouldRedirectToRedsysSite()
 {
     $model = array('Ds_Merchant_Amount' => 1000, 'Ds_Merchant_Order' => '1234', 'Ds_Merchant_Currency' => '978', 'Ds_Merchant_TransactionType' => 0, 'Ds_Merchant_MerchantURL' => 'https://sis-t.sermepa.es:25443/sis/realizarPago');
     $apiMock = $this->createApiMock();
     $gatewayMock = $this->createGatewayMock();
     $gatewayMock->expects($this->never())->method('execute')->with($this->isInstanceOf('Payum\\Core\\Request\\GetHttpRequest'));
     $action = new CaptureAction();
     $action->setApi($apiMock);
     $request = new Capture($model);
     $action->execute($request);
 }