Details
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java
index bf09acf..a4151b1 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java
@@ -32,6 +32,7 @@ public class InvoiceItemJsonSimple extends JsonBase {
private final String invoiceItemId;
private final String invoiceId;
+ private final String linkedInvoiceItemId;
private final String accountId;
private final String bundleId;
private final String subscriptionId;
@@ -45,6 +46,7 @@ public class InvoiceItemJsonSimple extends JsonBase {
public InvoiceItemJsonSimple(@JsonProperty("invoiceItemId") final String invoiceItemId,
@JsonProperty("invoiceId") final String invoiceId,
+ @JsonProperty("linkedInvoiceItemId") final String linkedInvoiceItemId,
@JsonProperty("accountId") final String accountId,
@JsonProperty("bundleId") final String bundleId,
@JsonProperty("subscriptionId") final String subscriptionId,
@@ -59,6 +61,7 @@ public class InvoiceItemJsonSimple extends JsonBase {
super(auditLogs);
this.invoiceItemId = invoiceItemId;
this.invoiceId = invoiceId;
+ this.linkedInvoiceItemId = linkedInvoiceItemId;
this.accountId = accountId;
this.bundleId = bundleId;
this.subscriptionId = subscriptionId;
@@ -72,8 +75,8 @@ public class InvoiceItemJsonSimple extends JsonBase {
}
public InvoiceItemJsonSimple(final InvoiceItem item) {
- this(toString(item.getId()), toString(item.getInvoiceId()), toString(item.getAccountId()),
- toString(item.getBundleId()), toString(item.getSubscriptionId()),
+ this(toString(item.getId()), toString(item.getInvoiceId()), toString(item.getLinkedItemId()),
+ toString(item.getAccountId()), toString(item.getBundleId()), toString(item.getSubscriptionId()),
item.getPlanName(), item.getPhaseName(), item.getDescription(), item.getStartDate(), item.getEndDate(),
item.getAmount(), item.getCurrency(), null);
}
@@ -86,6 +89,10 @@ public class InvoiceItemJsonSimple extends JsonBase {
return invoiceId;
}
+ public String getLinkedInvoiceItemId() {
+ return linkedInvoiceItemId;
+ }
+
public String getAccountId() {
return accountId;
}
@@ -127,6 +134,27 @@ public class InvoiceItemJsonSimple extends JsonBase {
}
@Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("InvoiceItemJsonSimple");
+ sb.append("{invoiceItemId='").append(invoiceItemId).append('\'');
+ sb.append(", invoiceId='").append(invoiceId).append('\'');
+ sb.append(", linkedInvoiceItemId='").append(linkedInvoiceItemId).append('\'');
+ sb.append(", accountId='").append(accountId).append('\'');
+ sb.append(", bundleId='").append(bundleId).append('\'');
+ sb.append(", subscriptionId='").append(subscriptionId).append('\'');
+ sb.append(", planName='").append(planName).append('\'');
+ sb.append(", phaseName='").append(phaseName).append('\'');
+ sb.append(", description='").append(description).append('\'');
+ sb.append(", startDate=").append(startDate);
+ sb.append(", endDate=").append(endDate);
+ sb.append(", amount=").append(amount);
+ sb.append(", currency=").append(currency);
+ sb.append('}');
+ return sb.toString();
+ }
+
+ @Override
public boolean equals(final Object o) {
if (this == o) {
return true;
@@ -163,6 +191,9 @@ public class InvoiceItemJsonSimple extends JsonBase {
if (invoiceId != null ? !invoiceId.equals(that.invoiceId) : that.invoiceId != null) {
return false;
}
+ if (linkedInvoiceItemId != null ? !linkedInvoiceItemId.equals(that.linkedInvoiceItemId) : that.linkedInvoiceItemId != null) {
+ return false;
+ }
if (phaseName != null ? !phaseName.equals(that.phaseName) : that.phaseName != null) {
return false;
}
@@ -184,6 +215,7 @@ public class InvoiceItemJsonSimple extends JsonBase {
public int hashCode() {
int result = invoiceId != null ? invoiceId.hashCode() : 0;
result = 31 * result + (invoiceItemId != null ? invoiceItemId.hashCode() : 0);
+ result = 31 * result + (linkedInvoiceItemId != null ? linkedInvoiceItemId.hashCode() : 0);
result = 31 * result + (accountId != null ? accountId.hashCode() : 0);
result = 31 * result + (bundleId != null ? bundleId.hashCode() : 0);
result = 31 * result + (subscriptionId != null ? subscriptionId.hashCode() : 0);
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/RefundJson.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/RefundJson.java
index ae23edf..3a52b58 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/RefundJson.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/RefundJson.java
@@ -37,7 +37,7 @@ public class RefundJson extends JsonBase {
private final String refundId;
private final String paymentId;
- private final BigDecimal refundAmount;
+ private final BigDecimal amount;
private final String currency;
private final Boolean isAdjusted;
private final DateTime requestedDate;
@@ -45,9 +45,9 @@ public class RefundJson extends JsonBase {
private final List<InvoiceItemJsonSimple> adjustments;
@JsonCreator
- public RefundJson(@JsonProperty("refund_id") final String refundId,
+ public RefundJson(@JsonProperty("refundId") final String refundId,
@JsonProperty("paymentId") final String paymentId,
- @JsonProperty("refundAmount") final BigDecimal refundAmount,
+ @JsonProperty("amount") final BigDecimal amount,
@JsonProperty("currency") final String currency,
@JsonProperty("adjusted") final Boolean isAdjusted,
@JsonProperty("requestedDate") final DateTime requestedDate,
@@ -57,7 +57,7 @@ public class RefundJson extends JsonBase {
super(auditLogs);
this.refundId = refundId;
this.paymentId = paymentId;
- this.refundAmount = refundAmount;
+ this.amount = amount;
this.currency = currency;
this.isAdjusted = isAdjusted;
this.requestedDate = requestedDate;
@@ -85,8 +85,8 @@ public class RefundJson extends JsonBase {
return paymentId;
}
- public BigDecimal getRefundAmount() {
- return refundAmount;
+ public BigDecimal getAmount() {
+ return amount;
}
public String getCurrency() {
@@ -115,7 +115,7 @@ public class RefundJson extends JsonBase {
sb.append("RefundJson");
sb.append("{refundId='").append(refundId).append('\'');
sb.append(", paymentId='").append(paymentId).append('\'');
- sb.append(", refundAmount=").append(refundAmount);
+ sb.append(", amount=").append(amount);
sb.append(", currency=").append(currency);
sb.append(", isAdjusted=").append(isAdjusted);
sb.append(", requestedDate=").append(requestedDate);
@@ -129,7 +129,7 @@ public class RefundJson extends JsonBase {
public int hashCode() {
int result = refundId != null ? refundId.hashCode() : 0;
result = 31 * result + (paymentId != null ? paymentId.hashCode() : 0);
- result = 31 * result + (refundAmount != null ? refundAmount.hashCode() : 0);
+ result = 31 * result + (amount != null ? amount.hashCode() : 0);
result = 31 * result + (currency != null ? currency.hashCode() : 0);
result = 31 * result + (isAdjusted != null ? isAdjusted.hashCode() : 0);
result = 31 * result + (requestedDate != null ? requestedDate.hashCode() : 0);
@@ -202,11 +202,11 @@ public class RefundJson extends JsonBase {
return false;
}
- if (refundAmount == null) {
- if (other.refundAmount != null) {
+ if (amount == null) {
+ if (other.amount != null) {
return false;
}
- } else if (!refundAmount.equals(other.refundAmount)) {
+ } else if (!amount.equals(other.amount)) {
return false;
}
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
index e2ce6f4..24f6bc2 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
@@ -125,11 +125,11 @@ public class PaymentResource extends JaxRsResourceBase {
result = paymentApi.createRefundWithItemsAdjustments(account, paymentUuid, adjustments, context.createContext(createdBy, reason, comment));
} else {
// Invoice adjustment
- result = paymentApi.createRefundWithAdjustment(account, paymentUuid, json.getRefundAmount(), context.createContext(createdBy, reason, comment));
+ result = paymentApi.createRefundWithAdjustment(account, paymentUuid, json.getAmount(), context.createContext(createdBy, reason, comment));
}
} else {
// Refund without adjustment
- result = paymentApi.createRefund(account, paymentUuid, json.getRefundAmount(), context.createContext(createdBy, reason, comment));
+ result = paymentApi.createRefund(account, paymentUuid, json.getAmount(), context.createContext(createdBy, reason, comment));
}
return uriBuilder.buildResponse(RefundResource.class, "getRefund", result.getId(), uriInfo.getBaseUri().toString());
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
index a182119..09808ac 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
@@ -39,6 +39,7 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
public void testJson() throws Exception {
final String invoiceItemId = UUID.randomUUID().toString();
final String invoiceId = UUID.randomUUID().toString();
+ final String linkedInvoiceItemId = UUID.randomUUID().toString();
final String accountId = UUID.randomUUID().toString();
final String bundleId = UUID.randomUUID().toString();
final String subscriptionId = UUID.randomUUID().toString();
@@ -50,11 +51,12 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
final BigDecimal amount = BigDecimal.TEN;
final Currency currency = Currency.MXN;
final List<AuditLogJson> auditLogs = createAuditLogsJson();
- final InvoiceItemJsonSimple invoiceItemJsonSimple = new InvoiceItemJsonSimple(invoiceItemId, invoiceId, accountId, bundleId, subscriptionId,
- planName, phaseName, description, startDate, endDate,
- amount, currency, auditLogs);
+ final InvoiceItemJsonSimple invoiceItemJsonSimple = new InvoiceItemJsonSimple(invoiceItemId, invoiceId, linkedInvoiceItemId, accountId,
+ bundleId, subscriptionId, planName, phaseName, description,
+ startDate, endDate, amount, currency, auditLogs);
Assert.assertEquals(invoiceItemJsonSimple.getInvoiceItemId(), invoiceItemId);
Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceId);
+ Assert.assertEquals(invoiceItemJsonSimple.getLinkedInvoiceItemId(), linkedInvoiceItemId);
Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), accountId);
Assert.assertEquals(invoiceItemJsonSimple.getBundleId(), bundleId);
Assert.assertEquals(invoiceItemJsonSimple.getSubscriptionId(), subscriptionId);
@@ -77,6 +79,7 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
final InvoiceItem invoiceItem = Mockito.mock(InvoiceItem.class);
Mockito.when(invoiceItem.getId()).thenReturn(UUID.randomUUID());
Mockito.when(invoiceItem.getInvoiceId()).thenReturn(UUID.randomUUID());
+ Mockito.when(invoiceItem.getLinkedItemId()).thenReturn(UUID.randomUUID());
Mockito.when(invoiceItem.getAccountId()).thenReturn(UUID.randomUUID());
Mockito.when(invoiceItem.getBundleId()).thenReturn(UUID.randomUUID());
Mockito.when(invoiceItem.getSubscriptionId()).thenReturn(UUID.randomUUID());
@@ -91,6 +94,7 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
final InvoiceItemJsonSimple invoiceItemJsonSimple = new InvoiceItemJsonSimple(invoiceItem);
Assert.assertEquals(invoiceItemJsonSimple.getInvoiceItemId(), invoiceItem.getId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceItem.getInvoiceId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getLinkedInvoiceItemId(), invoiceItem.getLinkedItemId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), invoiceItem.getAccountId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getBundleId(), invoiceItem.getBundleId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getSubscriptionId(), invoiceItem.getSubscriptionId().toString());
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java
index 1b310f6..990cdea 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java
@@ -100,6 +100,7 @@ public class TestInvoiceJsonWithItems extends JaxrsTestSuite {
final InvoiceItemJsonSimple invoiceItemJsonSimple = invoiceJsonWithItems.getItems().get(0);
Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceItem.getInvoiceId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getLinkedInvoiceItemId(), invoiceItem.getLinkedItemId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), invoiceItem.getAccountId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getBundleId(), invoiceItem.getBundleId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getSubscriptionId(), invoiceItem.getSubscriptionId().toString());
@@ -115,6 +116,7 @@ public class TestInvoiceJsonWithItems extends JaxrsTestSuite {
private InvoiceItemJsonSimple createInvoiceItemJson() {
final String invoiceItemId = UUID.randomUUID().toString();
final String invoiceId = UUID.randomUUID().toString();
+ final String linkedInvoiceItemId = UUID.randomUUID().toString();
final String accountId = UUID.randomUUID().toString();
final String bundleId = UUID.randomUUID().toString();
final String subscriptionId = UUID.randomUUID().toString();
@@ -125,7 +127,7 @@ public class TestInvoiceJsonWithItems extends JaxrsTestSuite {
final LocalDate endDate = clock.getUTCToday();
final BigDecimal amount = BigDecimal.TEN;
final Currency currency = Currency.MXN;
- return new InvoiceItemJsonSimple(invoiceItemId, invoiceId, accountId, bundleId, subscriptionId,
+ return new InvoiceItemJsonSimple(invoiceItemId, invoiceId, linkedInvoiceItemId, accountId, bundleId, subscriptionId,
planName, phaseName, description, startDate, endDate,
amount, currency, null);
}
@@ -133,6 +135,7 @@ public class TestInvoiceJsonWithItems extends JaxrsTestSuite {
private InvoiceItem createInvoiceItem() {
final InvoiceItem invoiceItem = Mockito.mock(InvoiceItem.class);
Mockito.when(invoiceItem.getInvoiceId()).thenReturn(UUID.randomUUID());
+ Mockito.when(invoiceItem.getLinkedItemId()).thenReturn(UUID.randomUUID());
Mockito.when(invoiceItem.getAccountId()).thenReturn(UUID.randomUUID());
Mockito.when(invoiceItem.getBundleId()).thenReturn(UUID.randomUUID());
Mockito.when(invoiceItem.getSubscriptionId()).thenReturn(UUID.randomUUID());
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestRefundJson.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestRefundJson.java
index f46c8a4..bbb9b76 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestRefundJson.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestRefundJson.java
@@ -40,18 +40,18 @@ public class TestRefundJson extends JaxrsTestSuite {
public void testJson() throws Exception {
final String refundId = UUID.randomUUID().toString();
final String paymentId = UUID.randomUUID().toString();
- final BigDecimal refundAmount = BigDecimal.TEN;
+ final BigDecimal amount = BigDecimal.TEN;
final String currency = "USD";
final boolean isAdjusted = true;
final DateTime requestedDate = clock.getUTCNow();
final DateTime effectiveDate = clock.getUTCNow();
final List<InvoiceItemJsonSimple> adjustments = ImmutableList.<InvoiceItemJsonSimple>of(createInvoiceItemJson());
final List<AuditLogJson> auditLogs = createAuditLogsJson();
- final RefundJson refundJson = new RefundJson(refundId, paymentId, refundAmount, currency, isAdjusted, requestedDate,
+ final RefundJson refundJson = new RefundJson(refundId, paymentId, amount, currency, isAdjusted, requestedDate,
effectiveDate, adjustments, auditLogs);
Assert.assertEquals(refundJson.getRefundId(), refundId);
Assert.assertEquals(refundJson.getPaymentId(), paymentId);
- Assert.assertEquals(refundJson.getRefundAmount(), refundAmount);
+ Assert.assertEquals(refundJson.getAmount(), amount);
Assert.assertEquals(refundJson.getCurrency(), currency);
Assert.assertEquals(refundJson.isAdjusted(), isAdjusted);
Assert.assertEquals(refundJson.getRequestedDate(), requestedDate);
@@ -67,6 +67,7 @@ public class TestRefundJson extends JaxrsTestSuite {
private InvoiceItemJsonSimple createInvoiceItemJson() {
final String invoiceItemId = UUID.randomUUID().toString();
final String invoiceId = UUID.randomUUID().toString();
+ final String linkedInvoiceItemId = UUID.randomUUID().toString();
final String accountId = UUID.randomUUID().toString();
final String bundleId = UUID.randomUUID().toString();
final String subscriptionId = UUID.randomUUID().toString();
@@ -78,7 +79,7 @@ public class TestRefundJson extends JaxrsTestSuite {
final BigDecimal amount = BigDecimal.TEN;
final Currency currency = Currency.MXN;
final List<AuditLogJson> auditLogs = createAuditLogsJson();
- return new InvoiceItemJsonSimple(invoiceItemId, invoiceId, accountId, bundleId, subscriptionId,
+ return new InvoiceItemJsonSimple(invoiceItemId, invoiceId, linkedInvoiceItemId, accountId, bundleId, subscriptionId,
planName, phaseName, description, startDate, endDate,
amount, currency, auditLogs);
}
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java b/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java
index 27b0dab..5bfea52 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java
@@ -105,7 +105,7 @@ public class TestAccountTimeline extends TestJaxrsBase {
Assert.assertEquals(paymentJson.getRefunds().size(), 1);
final RefundJson refundJson = paymentJson.getRefunds().get(0);
Assert.assertEquals(refundJson.getPaymentId(), paymentJson.getPaymentId());
- Assert.assertEquals(refundJson.getRefundAmount().compareTo(refundAmount), 0);
+ Assert.assertEquals(refundJson.getAmount().compareTo(refundAmount), 0);
// Verify chargebacks
Assert.assertEquals(paymentJson.getChargebacks().size(), 1);
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
index 6e44e26..54149d7 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
@@ -23,10 +23,12 @@ import java.net.URL;
import java.util.ArrayList;
import java.util.EventListener;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@@ -78,7 +80,6 @@ import com.ning.billing.jaxrs.json.PaymentMethodJson.PaymentMethodPluginDetailJs
import com.ning.billing.jaxrs.json.PaymentMethodJson.PaymentMethodProperties;
import com.ning.billing.jaxrs.json.RefundJson;
import com.ning.billing.jaxrs.json.SubscriptionJsonNoEvents;
-import com.ning.billing.jaxrs.resources.AccountResource;
import com.ning.billing.jaxrs.resources.JaxrsResource;
import com.ning.billing.junction.glue.DefaultJunctionModule;
import com.ning.billing.payment.glue.PaymentModule;
@@ -111,6 +112,8 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.joda.JodaModule;
+import com.google.common.base.Function;
+import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableMap;
import com.google.inject.Module;
@@ -626,7 +629,7 @@ public class TestJaxrsBase extends ServerTestSuiteWithEmbeddedDB {
queryParams.put(JaxrsResource.QUERY_REQUESTED_DT, requestedDate.toDateTimeISO().toString());
}
- final InvoiceItemJsonSimple adjustment = new InvoiceItemJsonSimple(invoiceItemId, null, accountId, null, null, null, null,
+ final InvoiceItemJsonSimple adjustment = new InvoiceItemJsonSimple(invoiceItemId, null, null, accountId, null, null, null, null,
null, null, null, amount, currency, null);
final String adjustmentJson = mapper.writeValueAsString(adjustment);
final Response response = doPost(uri, adjustmentJson, queryParams, DEFAULT_HTTP_TIMEOUT_SEC);
@@ -651,7 +654,7 @@ public class TestJaxrsBase extends ServerTestSuiteWithEmbeddedDB {
queryParams.put(JaxrsResource.QUERY_REQUESTED_DT, requestedDate.toDateTimeISO().toString());
}
- final InvoiceItemJsonSimple externalCharge = new InvoiceItemJsonSimple(null, invoiceId, accountId, bundleId, null, null, null,
+ final InvoiceItemJsonSimple externalCharge = new InvoiceItemJsonSimple(null, invoiceId, null, accountId, bundleId, null, null, null,
null, null, null, amount, currency, null);
final String externalChargeJson = mapper.writeValueAsString(externalCharge);
final Response response = doPost(uri, externalChargeJson, queryParams, DEFAULT_HTTP_TIMEOUT_SEC);
@@ -667,7 +670,7 @@ public class TestJaxrsBase extends ServerTestSuiteWithEmbeddedDB {
assertEquals(invoiceResponse.getStatusCode(), Status.OK.getStatusCode());
final String invoicesBaseJson = invoiceResponse.getResponseBody();
- final InvoiceJsonWithItems invoice = mapper.readValue(invoicesBaseJson, new TypeReference<InvoiceJsonWithItems>(){});
+ final InvoiceJsonWithItems invoice = mapper.readValue(invoicesBaseJson, new TypeReference<InvoiceJsonWithItems>() {});
assertNotNull(invoice);
return invoice;
@@ -818,7 +821,7 @@ public class TestJaxrsBase extends ServerTestSuiteWithEmbeddedDB {
final List<InvoiceItemJsonSimple> adjustments = new ArrayList<InvoiceItemJsonSimple>();
for (final String itemId : itemAdjustments.keySet()) {
- adjustments.add(new InvoiceItemJsonSimple(itemId, null, null, null, null, null, null, null, null, null,
+ adjustments.add(new InvoiceItemJsonSimple(itemId, null, null, null, null, null, null, null, null, null, null,
itemAdjustments.get(itemId), null, null));
}
final RefundJson refundJson = new RefundJson(null, paymentId, amount, DEFAULT_CURRENCY, adjusted, null, null, adjustments, null);
@@ -835,6 +838,20 @@ public class TestJaxrsBase extends ServerTestSuiteWithEmbeddedDB {
final String retrievedBaseJson = retrievedResponse.getResponseBody();
final RefundJson retrievedRefundJson = mapper.readValue(retrievedBaseJson, RefundJson.class);
assertNotNull(retrievedRefundJson);
+ // Verify we have the adjusted items
+ if (retrievedRefundJson.getAdjustments() != null) {
+ final Set<String> allLinkedItemIds = new HashSet<String>(Collections2.transform(retrievedRefundJson.getAdjustments(), new Function<InvoiceItemJsonSimple, String>() {
+ @Override
+ public String apply(@Nullable final InvoiceItemJsonSimple input) {
+ if (input != null) {
+ return input.getLinkedInvoiceItemId();
+ } else {
+ return null;
+ }
+ }
+ }));
+ assertEquals(allLinkedItemIds, itemAdjustments.keySet());
+ }
return retrievedRefundJson;
}
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestPayment.java b/server/src/test/java/com/ning/billing/jaxrs/TestPayment.java
index d207d48..a95ac00 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestPayment.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestPayment.java
@@ -169,7 +169,7 @@ public class TestPayment extends TestJaxrsBase {
private void verifyRefund(final PaymentJsonSimple paymentJsonSimple, final RefundJson refundJsonCheck, final BigDecimal refundAmount) throws IOException {
Assert.assertEquals(refundJsonCheck.getPaymentId(), paymentJsonSimple.getPaymentId());
- Assert.assertEquals(refundJsonCheck.getRefundAmount().setScale(2, RoundingMode.HALF_UP), refundAmount.setScale(2, RoundingMode.HALF_UP));
+ Assert.assertEquals(refundJsonCheck.getAmount().setScale(2, RoundingMode.HALF_UP), refundAmount.setScale(2, RoundingMode.HALF_UP));
Assert.assertEquals(refundJsonCheck.getCurrency(), DEFAULT_CURRENCY);
Assert.assertEquals(refundJsonCheck.getEffectiveDate().getYear(), clock.getUTCNow().getYear());
Assert.assertEquals(refundJsonCheck.getEffectiveDate().getMonthOfYear(), clock.getUTCNow().getMonthOfYear());