Package br.com.caelum.stella.gateway.integration

Source Code of br.com.caelum.stella.gateway.integration.AmexTestRetornoIntegracao

package br.com.caelum.stella.gateway.integration;

import java.math.BigDecimal;

import javax.servlet.http.HttpServletRequest;

import junit.framework.Assert;

import org.jmock.Expectations;
import org.jmock.Mockery;
import org.junit.Test;

import br.com.caelum.stella.gateway.amex.AmexAutorizacaoReturn;
import br.com.caelum.stella.gateway.amex.AmexTipoCartao;
import br.com.caelum.stella.gateway.amex.AmexVerificaRetornoAutorizacao;
import br.com.caelum.stella.gateway.core.ProblematicTransactionException;

public class AmexTestRetornoIntegracao {

  @Test
  public void testRetornoValido(){
    Mockery mockery = new Mockery();
    final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
    mockery.checking(new Expectations(){
      {       
        one(request).getParameter("vpc_TxnResponseCode");will(returnValue("0"));
        one(request).getParameter("vpc_Message");will(returnValue("Sucesso"));
        one(request).getParameter("vpc_SecureHash");will(returnValue("123456789012345"));
        one(request).getParameter("vpc_Merchant");will(returnValue("123456"));
        one(request).getParameter("vpc_Command");will(returnValue("command"));
        one(request).getParameter("vpc_MerchTxnRef");will(returnValue("123456"));
        one(request).getParameter("vpc_OrderInfo");will(returnValue("123456"));
        one(request).getParameter("vpc_Amount");will(returnValue("1000"));
        one(request).getParameter("vpc_Card");will(returnValue("AE"));
        one(request).getParameter("vpc_AcqResponseCode");will(returnValue("00"));
        one(request).getParameter("vpc_TransactionNo");will(returnValue("2345678787987980890"));
        one(request).getParameter("vpc_BatchNo");will(returnValue("20060115"));
        one(request).getParameter("vpc_ReceiptNo");will(returnValue("RP12345"));
        one(request).getParameter("vpc_AuthorizeId");will(returnValue("2345678787987980890"));
      }
    });   
    AmexAutorizacaoReturn amexAutorizacaoReturn = new AmexVerificaRetornoAutorizacao(request).handle();
    Assert.assertEquals(BigDecimal.TEN.setScale(2),amexAutorizacaoReturn.getVpc_Amount());
    Assert.assertEquals(AmexTipoCartao.AMERICA_EXPRESS,amexAutorizacaoReturn.getVpc_Card());
  }
 
  @Test(expected=ProblematicTransactionException.class)
  public void testRetornoInValido(){
    Mockery mockery = new Mockery();
    final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
    mockery.checking(new Expectations(){
      {       
        one(request).getParameter("vpc_TxnResponseCode");will(returnValue("1"));
        one(request).getParameter("vpc_Message");will(returnValue("Erro"));
        one(request).getParameter("vpc_SecureHash");will(returnValue("123456789012345"));
        one(request).getParameter("vpc_Merchant");will(returnValue("123456"));
        one(request).getParameter("vpc_Command");will(returnValue("command"));
        one(request).getParameter("vpc_MerchTxnRef");will(returnValue("123456"));
        one(request).getParameter("vpc_OrderInfo");will(returnValue("123456"));
        one(request).getParameter("vpc_Amount");will(returnValue("1000"));
        one(request).getParameter("vpc_Card");will(returnValue("AE"));
        one(request).getParameter("vpc_AcqResponseCode");will(returnValue("00"));
        one(request).getParameter("vpc_TransactionNo");will(returnValue("2345678787987980890"));
        one(request).getParameter("vpc_BatchNo");will(returnValue("20060115"));
        one(request).getParameter("vpc_ReceiptNo");will(returnValue("RP12345"));
        one(request).getParameter("vpc_AuthorizeId");will(returnValue("2345678787987980890"));
      }
    });   
    AmexAutorizacaoReturn amexAutorizacaoReturn = new AmexVerificaRetornoAutorizacao(request).handle();
 
}
TOP

Related Classes of br.com.caelum.stella.gateway.integration.AmexTestRetornoIntegracao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.