use of org.mifos.domain.builders.HolidayBuilder in project head by mifos.
the class HolidayBOTest method testIsFutureRepayment.
@Test
public void testIsFutureRepayment() throws Exception {
Holiday sameDayRepaymentHoliday = new HolidayBuilder().withName("holiday").from(new DateTime()).to(new DateTime()).withSameDayAsRule().build();
Holiday nextMeetingDayRepaymentHoliday = new HolidayBuilder().withName("holiday").from(new DateTime()).to(new DateTime()).withNextMeetingRule().build();
Holiday nextWorkingDayRepaymentHoliday = new HolidayBuilder().withName("holiday").from(new DateTime()).to(new DateTime()).withNextWorkingDayRule().build();
Holiday moratoriumRepaymentHoliday = new HolidayBuilder().withName("holiday").from(new DateTime()).to(new DateTime()).withRepaymentMoratoriumRule().build();
Assert.assertFalse(sameDayRepaymentHoliday.isFutureRepayment());
Assert.assertTrue(nextMeetingDayRepaymentHoliday.isFutureRepayment());
Assert.assertTrue(nextWorkingDayRepaymentHoliday.isFutureRepayment());
Assert.assertTrue(moratoriumRepaymentHoliday.isFutureRepayment());
}
use of org.mifos.domain.builders.HolidayBuilder in project head by mifos.
the class HolidayDaoHibernateIntegrationTest method nextDayRepaymentIsFutureRepaymentHoliday.
@Test
@Ignore
public void nextDayRepaymentIsFutureRepaymentHoliday() {
DateTime secondLastDayOfYear = new DateTime().withMonthOfYear(12).withDayOfMonth(30).toDateMidnight().toDateTime();
Holiday nextDayRepaymentHoliday = new HolidayBuilder().from(secondLastDayOfYear).to(secondLastDayOfYear).withNextMeetingRule().build();
insertHoliday(nextDayRepaymentHoliday);
Assert.assertTrue(holidayDao.isFutureRepaymentHoliday((short) 1, secondLastDayOfYear.toLocalDate().toString()));
}
use of org.mifos.domain.builders.HolidayBuilder in project head by mifos.
the class HolidayDaoHibernateIntegrationTest method sameDayHolidayIsNotFutureRepaymentHoliday.
@Test
@Ignore
public void sameDayHolidayIsNotFutureRepaymentHoliday() {
DateTime secondLastDayOfYear = new DateTime().withMonthOfYear(12).withDayOfMonth(30).toDateMidnight().toDateTime();
Holiday sameDayRepaymentHoliday = new HolidayBuilder().from(secondLastDayOfYear).to(secondLastDayOfYear).withSameDayAsRule().build();
insertHoliday(sameDayRepaymentHoliday);
Assert.assertFalse(holidayDao.isFutureRepaymentHoliday((short) 1, secondLastDayOfYear.toLocalDate().toString()));
}
use of org.mifos.domain.builders.HolidayBuilder in project head by mifos.
the class HolidayDaoHibernateIntegrationTest method shouldfindCurrentAndFutureOfficeHolidaysEarliestFirst.
@Test
public void shouldfindCurrentAndFutureOfficeHolidaysEarliestFirst() throws Exception {
DateTime yesterday = new DateTime().minusDays(1);
Set<HolidayBO> holidays;
OfficeBO headOffice = IntegrationTestObjectMother.findOfficeById(Short.valueOf("1"));
holidays = new HashSet<HolidayBO>();
holidays.add((HolidayBO) new HolidayBuilder().withName("Fourth").from(yesterday.plusWeeks(4)).to(yesterday.plusWeeks(5)).build());
holidays.add((HolidayBO) new HolidayBuilder().withName("Second").from(yesterday.plusDays(1)).to(yesterday.plusWeeks(7)).build());
headOffice.setHolidays(holidays);
IntegrationTestObjectMother.createOffice(headOffice);
// builder not setting searchId correctly due to not going thru office.save (which uses HierarchyManager)
String headOfficeSearchId = headOffice.getSearchId();
OfficeBO areaOffice = new OfficeBuilder().withName("Area Office").withSearchId(headOfficeSearchId + "25.").withParentOffice(headOffice).withGlobalOfficeNum("area56").build();
holidays = new HashSet<HolidayBO>();
holidays.add((HolidayBO) new HolidayBuilder().withName("Fifth").from(yesterday.plusWeeks(8)).to(yesterday.plusWeeks(9)).build());
areaOffice.setHolidays(holidays);
IntegrationTestObjectMother.createOffice(areaOffice);
OfficeBO myOffice = new OfficeBuilder().withName("My Office").withSearchId(headOfficeSearchId + "25.1.").withParentOffice(areaOffice).withGlobalOfficeNum("my001").build();
holidays = new HashSet<HolidayBO>();
holidays.add((HolidayBO) new HolidayBuilder().withName("Third").from(yesterday.plusWeeks(3)).to(yesterday.plusWeeks(4)).build());
holidays.add((HolidayBO) new HolidayBuilder().withName("First").from(yesterday).to(yesterday.plusWeeks(2)).build());
myOffice.setHolidays(holidays);
IntegrationTestObjectMother.createOffice(myOffice);
OfficeBO anotherOffice = new OfficeBuilder().withName("Another Unconnected Office").withSearchId(headOfficeSearchId + "26.").withParentOffice(headOffice).withGlobalOfficeNum("n/a001").build();
holidays = new HashSet<HolidayBO>();
holidays.add((HolidayBO) new HolidayBuilder().withName("N/A").from(yesterday.minusWeeks(3)).to(yesterday.plusWeeks(4)).build());
anotherOffice.setHolidays(holidays);
IntegrationTestObjectMother.createOffice(anotherOffice);
List<Holiday> myHolidays = holidayDao.findCurrentAndFutureOfficeHolidaysEarliestFirst(myOffice.getOfficeId());
assertThat(myHolidays.size(), is(5));
assertThat(myHolidays.get(0).getName(), is("First"));
assertThat(myHolidays.get(1).getName(), is("Second"));
assertThat(myHolidays.get(2).getName(), is("Third"));
assertThat(myHolidays.get(3).getName(), is("Fourth"));
assertThat(myHolidays.get(4).getName(), is("Fifth"));
}
use of org.mifos.domain.builders.HolidayBuilder in project head by mifos.
the class HolidayDaoHibernateIntegrationTest method shouldNotThrowExceptionWhenFutureHolidaysApplicableToNewParentOfficeDoNotDifferFromPreviousParentOffice.
@Test
public void shouldNotThrowExceptionWhenFutureHolidaysApplicableToNewParentOfficeDoNotDifferFromPreviousParentOffice() throws Exception {
OfficeBO headOffice = IntegrationTestObjectMother.findOfficeById(Short.valueOf("1"));
// setup
createOfficeHierarchyUnderHeadOffice(headOffice);
DateTime tomorrow = new DateTime().plusDays(1);
HolidayDetails holidayDetails = new HolidayBuilder().withName("areaOffice2Holiday").from(tomorrow).to(tomorrow).buildDto();
IntegrationTestObjectMother.createHoliday(holidayDetails, Arrays.asList(areaOffice2.getOfficeId(), areaOffice1.getOfficeId()));
HolidayDetails branchOnlyHolidayDetails = new HolidayBuilder().withName("branchOnlyHoliday").from(tomorrow).to(tomorrow).buildDto();
IntegrationTestObjectMother.createHoliday(branchOnlyHolidayDetails, Arrays.asList(branch1.getOfficeId()));
// refetch
branch1 = IntegrationTestObjectMother.findOfficeById(branch1.getOfficeId());
// exercise test
holidayDao.validateNoExtraFutureHolidaysApplicableOnParentOffice(branch1.getParentOffice().getOfficeId(), areaOffice2.getOfficeId());
}
Aggregations