diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java index c756f0a2c..6d8fffc5f 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java @@ -7,6 +7,7 @@ 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 org.joda.time.LocalDate; import org.junit.Test; import org.junit.runner.RunWith; import org.navalplanner.business.calendars.entities.BaseCalendar; @@ -81,6 +82,30 @@ public class BaseCalendarModelTest { } } + @Test + public void testEditAndNewVersion() { + assertThat(baseCalendarModel.getBaseCalendars().size(), equalTo(0)); + saveOneCalendar(); + + BaseCalendar baseCalendar = baseCalendarModel.getBaseCalendars().get(0); + baseCalendarModel.initEdit(baseCalendar); + baseCalendarModel.createNewVersion((new LocalDate()).plusWeeks(1) + .toDateTimeAtStartOfDay().toDate()); + setHours(baseCalendarModel.getBaseCalendar(), 4); + try { + baseCalendarModel.confirmSave(); + + assertThat(baseCalendarModel.getBaseCalendars().size(), equalTo(1)); + assertThat(baseCalendarModel.getBaseCalendars().get(0) + .getPreviousCalendar().getId(), equalTo(baseCalendar + .getId())); + assertThat(baseCalendarModel.getBaseCalendars().get(0).getHours( + Days.MONDAY), equalTo(4)); + } catch (ValidationException e) { + fail("It should not throw an exception"); + } + } + private void saveOneCalendar() { baseCalendarModel.initCreate(); setHours(baseCalendarModel.getBaseCalendar(), 8);