package com.braintreegateway;
import org.junit.Test;
import org.junit.Before;
import static org.junit.Assert.*;
public class ClientTokenGatewayTest {
private BraintreeGateway gateway;
@Before
public void createGateway() {
this.gateway = new BraintreeGateway(
Environment.DEVELOPMENT,
"integration_merchant_id",
"integration_public_key",
"integration_private_key"
);
}
@Test
public void generateRaisesExceptionIfVerifyCardIsIncludedWithoutCustomerId() {
ClientTokenRequest clientTokenRequest = new ClientTokenRequest()
.options(new ClientTokenOptionsRequest().verifyCard(true));
try {
gateway.clientToken().generate(clientTokenRequest);
fail("generate() should have raised an exception!");
} catch (IllegalArgumentException e) {
assertTrue("exception message should mention verifyCard",
e.getMessage().contains("verifyCard"));
}
}
@Test
public void generateRaisesExceptionIfMakeDefaultIsIncludedWithoutCustomerId() {
ClientTokenRequest clientTokenRequest = new ClientTokenRequest()
.options(new ClientTokenOptionsRequest().makeDefault(true));
try {
gateway.clientToken().generate(clientTokenRequest);
fail("generate() should have raised an exception!");
} catch (IllegalArgumentException e) {
assertTrue("exception message should mention makeDefault",
e.getMessage().contains("makeDefault"));
}
}
@Test
public void generateRaisesExceptionIfFailOnDuplicatePaymentMethodIsIncludedWithoutCustomerId() {
ClientTokenRequest clientTokenRequest = new ClientTokenRequest()
.options(new ClientTokenOptionsRequest().failOnDuplicatePaymentMethod(true));
try {
gateway.clientToken().generate(clientTokenRequest);
fail("generate() should have raised an exception!");
} catch (IllegalArgumentException e) {
assertTrue("exception message should mention failOnDuplicatePaymentMethod",
e.getMessage().contains("failOnDuplicatePaymentMethod"));
}
}
}