diff --git a/overdue/src/main/java/org/killbill/billing/overdue/config/DefaultOverdueStateSet.java b/overdue/src/main/java/org/killbill/billing/overdue/config/DefaultOverdueStateSet.java
index 522a065..0628bae 100644
--- a/overdue/src/main/java/org/killbill/billing/overdue/config/DefaultOverdueStateSet.java
+++ b/overdue/src/main/java/org/killbill/billing/overdue/config/DefaultOverdueStateSet.java
@@ -96,6 +96,6 @@ public abstract class DefaultOverdueStateSet extends ValidatingConfig<DefaultOve
@Override
public OverdueState getFirstState() {
- return getStates()[0];
+ return getStates()[size() - 1];
}
}
diff --git a/overdue/src/test/java/org/killbill/billing/overdue/config/TestOverdueConfig.java b/overdue/src/test/java/org/killbill/billing/overdue/config/TestOverdueConfig.java
index c15f26f..d4326db 100644
--- a/overdue/src/test/java/org/killbill/billing/overdue/config/TestOverdueConfig.java
+++ b/overdue/src/test/java/org/killbill/billing/overdue/config/TestOverdueConfig.java
@@ -35,34 +35,34 @@ public class TestOverdueConfig extends OverdueTestSuiteNoDB {
" <initialReevaluationInterval>" +
" <unit>DAYS</unit><number>1</number>" +
" </initialReevaluationInterval>" +
- " <state name=\"OD1\">" +
+ " <state name=\"OD2\">" +
" <condition>" +
" <timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>" +
- " <unit>MONTHS</unit><number>1</number>" +
+ " <unit>MONTHS</unit><number>2</number>" +
" </timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>" +
" </condition>" +
" <externalMessage>Reached OD1</externalMessage>" +
" <blockChanges>true</blockChanges>" +
- " <disableEntitlementAndChangesBlocked>false</disableEntitlementAndChangesBlocked>" +
+ " <disableEntitlementAndChangesBlocked>true</disableEntitlementAndChangesBlocked>" +
" <autoReevaluationInterval>" +
" <unit>DAYS</unit><number>15</number>" +
" </autoReevaluationInterval>" +
+ " <enterStateEmailNotification>" +
+ " <subject>ToTo</subject><templateName>Titi</templateName>" +
+ " </enterStateEmailNotification>" +
" </state>" +
- " <state name=\"OD2\">" +
+ " <state name=\"OD1\">" +
" <condition>" +
" <timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>" +
- " <unit>MONTHS</unit><number>2</number>" +
+ " <unit>MONTHS</unit><number>1</number>" +
" </timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>" +
" </condition>" +
" <externalMessage>Reached OD1</externalMessage>" +
" <blockChanges>true</blockChanges>" +
- " <disableEntitlementAndChangesBlocked>true</disableEntitlementAndChangesBlocked>" +
+ " <disableEntitlementAndChangesBlocked>false</disableEntitlementAndChangesBlocked>" +
" <autoReevaluationInterval>" +
" <unit>DAYS</unit><number>15</number>" +
" </autoReevaluationInterval>" +
- " <enterStateEmailNotification>" +
- " <subject>ToTo</subject><templateName>Titi</templateName>" +
- " </enterStateEmailNotification>" +
" </state>" +
" </accountOverdueStates>" +
"</overdueConfig>";
@@ -70,14 +70,16 @@ public class TestOverdueConfig extends OverdueTestSuiteNoDB {
final DefaultOverdueConfig c = XMLLoader.getObjectFromStreamNoValidation(is, DefaultOverdueConfig.class);
Assert.assertEquals(c.getOverdueStatesAccount().size(), 2);
- Assert.assertNull(c.getOverdueStatesAccount().getStates()[0].getEmailNotification());
+ Assert.assertNull(c.getOverdueStatesAccount().getStates()[1].getEmailNotification());
Assert.assertNotNull(c.getOverdueStatesAccount().getInitialReevaluationInterval());
Assert.assertEquals(c.getOverdueStatesAccount().getInitialReevaluationInterval().getDays(), 1);
- final EmailNotification secondNotification = c.getOverdueStatesAccount().getStates()[1].getEmailNotification();
+ final EmailNotification secondNotification = c.getOverdueStatesAccount().getStates()[0].getEmailNotification();
Assert.assertEquals(secondNotification.getSubject(), "ToTo");
Assert.assertEquals(secondNotification.getTemplateName(), "Titi");
Assert.assertFalse(secondNotification.isHTML());
+
+ Assert.assertEquals(c.getOverdueStatesAccount().getFirstState().getName(), "OD1");
}
}