ItEr23S08CUEdicionCalendarioLaboral: Not allow add and remove extensions in the past.
This commit is contained in:
parent
ab36890da5
commit
4e4c797327
2 changed files with 48 additions and 12 deletions
|
|
@ -194,6 +194,11 @@ public class BaseCalendar extends BaseEntity implements IValidable {
|
|||
|
||||
public void addExceptionDay(ExceptionDay day)
|
||||
throws IllegalArgumentException {
|
||||
if (day.getDate().compareTo(new LocalDate()) <= 0) {
|
||||
throw new IllegalArgumentException(
|
||||
"You can not modify the past adding a new exception day");
|
||||
}
|
||||
|
||||
if (shouldUsePreviousCalendar(day.getDate())) {
|
||||
previousCalendar.addExceptionDay(day);
|
||||
} else if (shouldUseNextCalendar(day.getDate())) {
|
||||
|
|
@ -214,6 +219,11 @@ public class BaseCalendar extends BaseEntity implements IValidable {
|
|||
|
||||
public void removeExceptionDay(LocalDate date)
|
||||
throws IllegalArgumentException {
|
||||
if (date.compareTo(new LocalDate()) <= 0) {
|
||||
throw new IllegalArgumentException(
|
||||
"You can not modify the past removing an exception day");
|
||||
}
|
||||
|
||||
if (shouldUsePreviousCalendar(date)) {
|
||||
previousCalendar.removeExceptionDay(date);
|
||||
} else if (shouldUseNextCalendar(date)) {
|
||||
|
|
|
|||
|
|
@ -22,17 +22,24 @@ import org.navalplanner.business.common.exceptions.ValidationException;
|
|||
*/
|
||||
public class BaseCalendarTest {
|
||||
|
||||
public static final LocalDate MONDAY_LOCAL_DATE = new LocalDate(2009, 8, 10);
|
||||
public static final LocalDate TUESDAY_LOCAL_DATE = new LocalDate(2009, 8,
|
||||
11);
|
||||
public static final LocalDate WEDNESDAY_LOCAL_DATE = new LocalDate(2009, 8,
|
||||
12);
|
||||
public static final LocalDate THURSDAY_LOCAL_DATE = new LocalDate(2009, 8,
|
||||
13);
|
||||
public static final LocalDate FRIDAY_LOCAL_DATE = new LocalDate(2009, 8, 14);
|
||||
public static final LocalDate SATURDAY_LOCAL_DATE = new LocalDate(2009, 8,
|
||||
15);
|
||||
public static final LocalDate SUNDAY_LOCAL_DATE = new LocalDate(2009, 8, 16);
|
||||
public static final LocalDate JUNE_NEXT_YEAR = new LocalDate(
|
||||
(new LocalDate())
|
||||
.getYear(), 6, 1).plusYears(1);
|
||||
|
||||
public static final LocalDate MONDAY_LOCAL_DATE = JUNE_NEXT_YEAR
|
||||
.dayOfWeek().withMinimumValue();
|
||||
public static final LocalDate TUESDAY_LOCAL_DATE = MONDAY_LOCAL_DATE
|
||||
.plusDays(1);
|
||||
public static final LocalDate WEDNESDAY_LOCAL_DATE = MONDAY_LOCAL_DATE
|
||||
.plusDays(2);
|
||||
public static final LocalDate THURSDAY_LOCAL_DATE = MONDAY_LOCAL_DATE
|
||||
.plusDays(3);
|
||||
public static final LocalDate FRIDAY_LOCAL_DATE = MONDAY_LOCAL_DATE
|
||||
.plusDays(4);
|
||||
public static final LocalDate SATURDAY_LOCAL_DATE = MONDAY_LOCAL_DATE
|
||||
.plusDays(5);
|
||||
public static final LocalDate SUNDAY_LOCAL_DATE = MONDAY_LOCAL_DATE
|
||||
.plusDays(6);
|
||||
|
||||
private static final LocalDate[] DAYS_OF_A_WEEK_EXAMPLE = {
|
||||
MONDAY_LOCAL_DATE, TUESDAY_LOCAL_DATE, WEDNESDAY_LOCAL_DATE,
|
||||
|
|
@ -40,7 +47,7 @@ public class BaseCalendarTest {
|
|||
SUNDAY_LOCAL_DATE };
|
||||
|
||||
public static final LocalDate CHRISTMAS_DAY_LOCAL_DATE = new LocalDate(
|
||||
2009, 12, 25);
|
||||
JUNE_NEXT_YEAR.getYear(), 12, 25);
|
||||
|
||||
public static BaseCalendar createBasicCalendar() {
|
||||
BaseCalendar calendar = BaseCalendar.create();
|
||||
|
|
@ -602,4 +609,23 @@ public class BaseCalendarTest {
|
|||
equalTo(lastVersion));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testNotAllowCreateExceptionsInThePast() {
|
||||
BaseCalendar calendar = createBasicCalendar();
|
||||
|
||||
LocalDate pastMonth = (new LocalDate()).minusMonths(1);
|
||||
ExceptionDay exceptionDay = ExceptionDay.create(pastMonth, 0);
|
||||
|
||||
calendar.addExceptionDay(exceptionDay);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testNotAllowRemoveExceptionsInThePast() {
|
||||
BaseCalendar calendar = createBasicCalendar();
|
||||
|
||||
LocalDate pastMonth = (new LocalDate()).minusMonths(1);
|
||||
|
||||
calendar.removeExceptionDay(pastMonth);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue