Details
diff --git a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java
index f70b83d..bddef30 100644
--- a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java
+++ b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java
@@ -51,9 +51,10 @@ public class TestAccountJson extends JaxrsTestSuiteNoDB {
final String phone = UUID.randomUUID().toString();
final Boolean isMigrated = true;
final Boolean isNotifiedForInvoice = false;
+ final String parentAccountId = UUID.randomUUID().toString();
final AccountJson accountJson = new AccountJson(accountId, name, length, externalKey,
- email, billCycleDayLocal, currency, null, false, paymentMethodId,
+ email, billCycleDayLocal, currency, parentAccountId, true, paymentMethodId,
timeZone, address1, address2, postalCode, company, city, state,
country, locale, phone, isMigrated, isNotifiedForInvoice, null, null, null);
Assert.assertEquals(accountJson.getAccountId(), accountId);
@@ -76,6 +77,8 @@ public class TestAccountJson extends JaxrsTestSuiteNoDB {
Assert.assertEquals(accountJson.getPhone(), phone);
Assert.assertEquals(accountJson.isMigrated(), isMigrated);
Assert.assertEquals(accountJson.isNotifiedForInvoices(), isNotifiedForInvoice);
+ Assert.assertEquals(accountJson.getParentAccountId(), parentAccountId);
+ Assert.assertEquals(accountJson.isPaymentDelegatedToParent(), Boolean.TRUE);
final String asJson = mapper.writeValueAsString(accountJson);
final AccountJson fromJson = mapper.readValue(asJson, AccountJson.class);
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
index 5b498cf..e61057a 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
@@ -173,7 +173,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
final String phone = "81 53 26 56";
// Note: the accountId payload is ignored on account creation
- return new Account(accountId, name, length, externalKey, email, null, currency, null, false, null, timeZone,
+ return new Account(accountId, name, length, externalKey, email, null, currency, null, null, null, timeZone,
address1, address2, postalCode, company, city, state, country, locale, phone, false, false, null, null);
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
index ba8b068..03851d5 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
@@ -371,4 +371,23 @@ public class TestAccount extends TestJaxrsBase {
Assert.assertEquals(accountsByKey.get(0), output);
}
}
-}
+
+ @Test(groups = "slow", description = "Can create and retrieve parent/children accounts")
+ public void testParentAccountOk() throws Exception {
+
+ final Account parentAccount = createAccount();
+
+ final Account childInput = getAccount();
+ childInput.setParentAccountId(parentAccount.getAccountId());
+ childInput.setIsPaymentDelegatedToParent(true);
+ final Account childAccount = killBillClient.createAccount(childInput, createdBy, reason, comment);
+
+ // Retrieves child account by external key
+ final Account retrievedAccount = killBillClient.getAccount(childAccount.getExternalKey());
+ Assert.assertTrue(retrievedAccount.equals(childAccount));
+ Assert.assertEquals(retrievedAccount.getParentAccountId(), parentAccount.getAccountId());
+ Assert.assertTrue(retrievedAccount.getIsPaymentDelegatedToParent());
+
+ }
+
+}
\ No newline at end of file