package com.braintreegateway.integrationtest;
import com.braintreegateway.CreditCardRequest;
import com.braintreegateway.testhelpers.TestHelper;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class CreditCardRequestIT {
@Test
public void toXmlEscapesXmlChars() {
CreditCardRequest request = new CreditCardRequest().
cardholderName("Special Xml Chars <>&\"'");
assertEquals("<creditCard><cardholderName>Special Xml Chars <>&"'</cardholderName></creditCard>", request.toXML());
}
@Test
public void toXmlIncludesBundle() {
CreditCardRequest request = new CreditCardRequest().
deviceData("{\"deviceSessionId\": \"dsid_abc123\", \"fraudMerchantId\": \"fmid_456\"}");
TestHelper.assertIncludes("dsid_abc123", request.toXML());
TestHelper.assertIncludes("fmid_456", request.toXML());
}
@Test
public void toXmlIncludesSecurityParams() {
CreditCardRequest request = new CreditCardRequest().
deviceSessionId("dsid_abc123").
fraudMerchantId("fmid_456");
TestHelper.assertIncludes("dsid_abc123", request.toXML());
TestHelper.assertIncludes("fmid_456", request.toXML());
}
@Test
public void toQueryString() {
CreditCardRequest request = new CreditCardRequest().
cardholderName("Drew").
billingAddress().
region("Chicago").
done();
assertEquals("credit_card%5Bbilling_address%5D%5Bregion%5D=Chicago&credit_card%5Bcardholder_name%5D=Drew", request.toQueryString());
}
@Test
public void toQueryStringWithParent() {
CreditCardRequest request = new CreditCardRequest().
cardholderName("Drew").
billingAddress().
region("Chicago").
done();
assertEquals("customer%5Bcredit_card%5D%5Bbilling_address%5D%5Bregion%5D=Chicago&customer%5Bcredit_card%5D%5Bcardholder_name%5D=Drew", request.toQueryString("customer[credit_card]"));
}
}