Details
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java
index 622d8f5..de36945 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java
@@ -234,7 +234,7 @@ public class TestIntegrationDryRunInvoice extends TestIntegrationBase {
final LocalDate initialDate = new LocalDate(2017, 4, 1);
clock.setDay(initialDate);
- // Create account with non BCD to force junction BCD logic to activate
+ // Create account with no BCD
final Account account = createAccountWithNonOsgiPaymentMethod(getAccountData(null));
final PlanPhaseSpecifier spec = new PlanPhaseSpecifier("Shotgun", BillingPeriod.ANNUAL, PriceListSet.DEFAULT_PRICELIST_NAME, null);
@@ -291,9 +291,9 @@ public class TestIntegrationDryRunInvoice extends TestIntegrationBase {
assertEquals(realInvoice.getInvoiceItems().get(0).getStartDate(), futureDate);
assertEquals(realInvoice.getInvoiceItems().get(0).getPlanName(), "shotgun-annual");
- // Check BCD is now set
+ // Check BCD is still not set (SUBSCRIPTION alignment)
final Account refreshedAccount2 = accountUserApi.getAccountById(account.getId(), callContext);
- assertEquals(refreshedAccount2.getBillCycleDayLocal(), new Integer(31));
+ assertEquals(refreshedAccount2.getBillCycleDayLocal(), new Integer(0));
// Move clock past startDate to check nothing happens
busHandler.pushExpectedEvents(NextEvent.CREATE, NextEvent.BLOCK, NextEvent.NULL_INVOICE);
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java
index a9bc6a6..af12b98 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java
@@ -562,9 +562,9 @@ public class TestSubscription extends TestIntegrationBase {
clock.addDays(30);
assertListenerStatus();
+ // SUBSCRIPTION alignment: no account BCD
account = accountUserApi.getAccountById(account.getId(), callContext);
- Assert.assertEquals(account.getBillCycleDayLocal().intValue(), 31);
-
+ Assert.assertEquals(account.getBillCycleDayLocal().intValue(), 0);
// Move clock a bit to make sure START_OF_TERM brings us back to last Phase date : 2015-9-5
clock.addDays(5);
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 3de7ad5..44b8794 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
@@ -214,7 +214,8 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
protected Subscription createSubscription(final UUID accountId, final String bundleExternalKey, final String productName,
final ProductCategory productCategory, final BillingPeriod billingPeriod, final boolean waitCompletion) throws Exception {
final Account account = accountApi.getAccount(accountId, requestOptions);
- if (account.getBillCycleDayLocal() == null || account.getBillCycleDayLocal() == 0) {
+ // ANNUAL subscriptions are SUBSCRIPTION aligned
+ if (billingPeriod == BillingPeriod.MONTHLY && (account.getBillCycleDayLocal() == null || account.getBillCycleDayLocal() == 0)) {
callbackServlet.pushExpectedEvent(ExtBusEventType.ACCOUNT_CHANGE);
}
callbackServlet.pushExpectedEvents(ExtBusEventType.ENTITLEMENT_CREATION, ExtBusEventType.SUBSCRIPTION_CREATION, ExtBusEventType.SUBSCRIPTION_CREATION, ExtBusEventType.INVOICE_CREATION);