public static Offset from(Optional<Integer> offset) { return offset.map(Offset::from) .orElse(none()); }
public static Offset from(Optional<Integer> offset) { return offset.map(Offset::from) .orElse(none()); }
public static Offset from(Optional<Integer> offset) { return offset.map(Offset::from) .orElse(none()); }
@Test public void extractOffsetShouldReturnNoneWhenNotInParameters() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn(null); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test public void extractOffsetShouldReturnNoneWhenZeroLimit() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn("0"); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test public void extractOffsetShouldReturnNoneWhenPresentInParametersButEmpty() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn(""); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test public void extractOffsetShouldReturnNoneWhenZeroLimit() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn("0"); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test void fromZeroShouldBeEquivalentToNone() { assertThat(Offset.from(0)) .isEqualTo(Offset.none()); }
@Test public void fromZeroShouldBeEquivalentToNone() { assertThat(Offset.from(0)) .isEqualTo(Offset.none()); }
@Test public void extractOffsetShouldReturnNoneWhenNotInParameters() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn(null); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test public void extractOffsetShouldReturnNoneWhenPresentInParametersButEmpty() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn(""); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test public void listMailsShouldReturnEmptyWhenMailRepositoryIsEmpty() throws Exception { when(mailRepositoryStore.getByPath(FIRST_REPOSITORY_PATH)).thenReturn(Stream.of(repository)); assertThat(testee.listMails(FIRST_REPOSITORY_PATH, Offset.none(), Limit.unlimited()).get()) .isEmpty(); }
@Test public void listMailsShouldThrowWhenMailRepositoryStoreThrows() throws Exception { when(mailRepositoryStore.getByPath(FIRST_REPOSITORY_PATH)) .thenThrow(new MailRepositoryStore.MailRepositoryStoreException("message")); assertThatThrownBy(() -> testee.listMails(FIRST_REPOSITORY_PATH, Offset.none(), Limit.unlimited())) .isInstanceOf(MailRepositoryStore.MailRepositoryStoreException.class); }
@Test public void listMailsShouldReturnContainedMailKeys() throws Exception { when(mailRepositoryStore.getByPath(FIRST_REPOSITORY_PATH)).thenReturn(Stream.of(repository)); repository.store(FakeMail.builder() .name(NAME_1.asString()) .build()); repository.store(FakeMail.builder() .name(NAME_2.asString()) .build()); assertThat(testee.listMails(FIRST_REPOSITORY_PATH, Offset.none(), Limit.unlimited()).get()) .containsOnly(new MailKeyDTO(NAME_1), new MailKeyDTO(NAME_2)); }