@Test public void builderShouldBuildConfigurationWhenRequiredFieldsAreProvided() { SchedulingConfiguration configuration = SchedulingConfiguration.builder() .time(LocalTime.parse("13:23")) .recurrence(ArchiveRecurrence.daily()) .build(); assertThat(configuration.getRepeatKind()).isEqualTo(RepeatKind.DAILY); assertThat(configuration.getHour()).isEqualTo(13); assertThat(configuration.getMinute()).isEqualTo(23); }
@Test public void defaultValues() { ArchiveRecurrence archiveRecurrence = ArchiveRecurrence.builder() .dayOfMonth(DayOfMonth.last()) .dayOfWeek(DayOfWeek.MONDAY) .dayOfYear(DayOfYear.of(1)) .repeat(RepeatKind.MONTHLY) .build(); SchedulingConfiguration configuration = SchedulingConfiguration.DEFAULT_VALUES_BUILDER; assertThat(configuration.getRepeatKind()).isEqualTo(archiveRecurrence.getRepeatKind()); assertThat(configuration.getDayOfMonth()).isEqualTo(archiveRecurrence.getDayOfMonth()); assertThat(configuration.getDayOfWeek()).isEqualTo(archiveRecurrence.getDayOfWeek()); assertThat(configuration.getDayOfYear()).isEqualTo(archiveRecurrence.getDayOfYear()); assertThat(configuration.getHour()).isEqualTo(0); assertThat(configuration.getMinute()).isEqualTo(0); assertThat(configuration.getRecurrence()).isEqualTo(archiveRecurrence); }
@Test(expected = IllegalStateException.class) public void builderShouldThrowWhenRepeatKindIsNotProvided() { SchedulingConfiguration.builder().time(LocalTime.parse("10:22")).build(); }
@Test(expected = IllegalArgumentException.class) public void builderShouldThrowWhenTimeHasMillis() { SchedulingConfiguration.builder().time(LocalTime.parse("12:22:00.552")).build(); }