ItEr23S08CUEdicionCalendarioLaboral: Fixed problem in getPossibleParentCalendars, added new test.

This commit is contained in:
Manuel Rego Casasnovas 2009-08-28 14:46:44 +02:00 committed by Óscar González Fernández
parent 65503d0318
commit e29dece9bc
2 changed files with 31 additions and 12 deletions

View file

@ -165,18 +165,9 @@ public class BaseCalendarModel implements IBaseCalendarModel {
if (getBaseCalendar() != null) {
for (BaseCalendar calendar : baseCalendars) {
if (isEditing()) {
if ((getBaseCalendar().getPreviousCalendar() != null)
&& (calendar.getId().equals(getBaseCalendar()
.getPreviousCalendar().getId()))) {
baseCalendars.remove(calendar);
break;
}
} else {
if (calendar.getId().equals(getBaseCalendar().getId())) {
baseCalendars.remove(calendar);
break;
}
if (calendar.getId().equals(getBaseCalendar().getId())) {
baseCalendars.remove(calendar);
break;
}
}
}

View file

@ -7,6 +7,8 @@ import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONF
import static org.navalplanner.web.WebappGlobalNames.WEBAPP_SPRING_CONFIG_FILE;
import static org.navalplanner.web.test.WebappGlobalNames.WEBAPP_SPRING_CONFIG_TEST_FILE;
import java.util.List;
import org.joda.time.LocalDate;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -127,4 +129,30 @@ public class BaseCalendarModelTest {
assertThat(baseCalendarModel.getBaseCalendars().size(), equalTo(0));
}
@Test
public void testPossibleParentCalendars() throws ValidationException {
baseCalendarModel.initCreate();
setHours(baseCalendarModel.getBaseCalendar(), 8);
BaseCalendar parent = baseCalendarModel.getBaseCalendar();
baseCalendarModel.createNewVersion((new LocalDate()).plusMonths(1)
.toDateTimeAtStartOfDay().toDate());
BaseCalendar parentNewVersion = baseCalendarModel.getBaseCalendar();
baseCalendarModel.confirmSave();
baseCalendarModel.initCreateDerived(parent);
BaseCalendar child = baseCalendarModel.getBaseCalendar();
baseCalendarModel.confirmSave();
baseCalendarModel.initEdit(child);
List<BaseCalendar> possibleParentCalendars = baseCalendarModel
.getPossibleParentCalendars();
assertThat(possibleParentCalendars.size(), equalTo(1));
assertThat(possibleParentCalendars.get(0).getId(),
equalTo(parentNewVersion.getId()));
assertThat(
possibleParentCalendars.get(0).getPreviousCalendar().getId(),
equalTo(parent.getId()));
}
}