@Test public void sentDateBeforeShouldThrowOnNullDate() { expectedException.expect(NullPointerException.class); SearchQuery.sentDateBefore(null, DateResolution.Day); }
@Test public void filterConditionShouldMapWhenBefore() { ZonedDateTime before = ZonedDateTime.now(); SearchQuery expectedSearchQuery = new SearchQuery(); expectedSearchQuery.andCriteria(SearchQuery.sentDateBefore(Date.from(before.toInstant()), DateResolution.Second)); SearchQuery searchQuery = new FilterToSearchQuery().convert(FilterCondition.builder() .before(before) .build()); assertThat(searchQuery).isEqualTo(expectedSearchQuery); }
filter.getBody().ifPresent(body -> searchQuery.andCriteria(SearchQuery.bodyContains(body))); filter.getAfter().ifPresent(after -> searchQuery.andCriteria(SearchQuery.sentDateAfter(Date.from(after.toInstant()), DateResolution.Second))); filter.getBefore().ifPresent(before -> searchQuery.andCriteria(SearchQuery.sentDateBefore(Date.from(before.toInstant()), DateResolution.Second))); filter.getHeader().ifPresent(header -> searchQuery.andCriteria(SearchQuery.headerContains(header.getName(), header.getValue().orElse(null)))); filter.getIsAnswered().ifPresent(isAnswered -> searchQuery.andCriteria(SearchQuery.flag(Flag.ANSWERED, isAnswered)));