package com.braintreegateway.integrationtest;
import com.braintreegateway.AddOn;
import com.braintreegateway.BraintreeGateway;
import com.braintreegateway.Environment;
import com.braintreegateway.util.Http;
import org.junit.Before;
import org.junit.Test;
import java.math.BigDecimal;
import java.util.List;
import java.util.Random;
import static org.junit.Assert.assertEquals;
public class AddOnIT extends IntegrationTest {
private Http http;
@Before
public void createHttp() {
http = new Http(this.gateway.getConfiguration());
}
@Test
public void returnsAllAddOns() {
String addOnId = "an_add_on_id" + String.valueOf(new Random().nextInt());
FakeModificationRequest addOnRequest = new FakeModificationRequest()
.amount(new BigDecimal("100.00"))
.description("java test add-on description")
.id(addOnId)
.kind("add_on")
.name("java test add-on name")
.neverExpires(false)
.numberOfBillingCycles(12);
http.post(gateway.getConfiguration().getMerchantPath() + "/modifications/create_modification_for_tests", addOnRequest);
List<AddOn> addOns = gateway.addOn().all();
AddOn actualAddOn = null;
for (AddOn addOn : addOns) {
if (addOn.getId().equals(addOnId)) {
actualAddOn = addOn;
break;
}
}
assertEquals(new BigDecimal("100.00"), actualAddOn.getAmount());
assertEquals("java test add-on description", actualAddOn.getDescription());
assertEquals("add_on", actualAddOn.getKind());
assertEquals("java test add-on name", actualAddOn.getName());
assertEquals(false, actualAddOn.neverExpires());
assertEquals(new Integer("12"), actualAddOn.getNumberOfBillingCycles());
}
}