diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerITCase.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerITCase.java deleted file mode 100644 index 4cb069db245172de2a2da7262a31fda06875ebf6..0000000000000000000000000000000000000000 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerITCase.java +++ /dev/null @@ -1,90 +0,0 @@ -package de.itvsh.goofy.vorgang; - -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.test.web.servlet.MockMvc; - -@SpringBootTest -@AutoConfigureMockMvc -class VorgangControllerITCase { - - final static String PATH = "/api/vorgangs"; - - @Autowired - private MockMvc mockMvc; - - @MockBean - private VorgangService vorgangService; - - @BeforeEach - void initTest() { - when(vorgangService.findVorgangHeader(anyInt(), anyInt())).thenReturn(VorgangListReplyTestFactory.create()); - } - - @Test - void shouldHaveSelfLink() throws Exception { - mockMvc.perform(get(PATH + "?page=" + 0)).andExpect(status().isOk())// - .andExpect(jsonPath("$._links.self.href").value("http://localhost" + PATH)); - } - - @Nested - class TestVorgangListFirstPage { - final int page = 0; - - @Test - void shouldNotHavePreviousLink() throws Exception { - mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// - .andExpect(jsonPath("$._links.previous").doesNotExist()); - } - - @Test - void shouldHaveNextLink() throws Exception { - mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// - .andExpect(jsonPath("$._links.next.href").value("http://localhost" + PATH + "?page=1")); - } - } - - @Nested - class TestVorgangInnerPage { - final int page = 1; - - @Test - void shouldHavePreviousLink() throws Exception { - mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// - .andExpect(jsonPath("$._links.previous.href").value("http://localhost" + PATH + "?page=0")); - } - - @Test - void shouldHaveNextLink() throws Exception { - mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// - .andExpect(jsonPath("$._links.next.href").value("http://localhost" + PATH + "?page=2")); - } - } - - @Nested - class TestVorgangLastPage { - final int page = 3; - - @Test - void shouldHavePreviousLink() throws Exception { - mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// - .andExpect(jsonPath("$._links.previous.href").value("http://localhost" + PATH + "?page=2")); - } - - @Test - void shouldHaveNextLink() throws Exception { - mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// - .andExpect(jsonPath("$._links.next").doesNotExist()); - } - } -} \ No newline at end of file diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java index e3ad6b3bb2921106e61fb3099f0a5a8b91d0826d..64ebf3c80efb6aba27c42571e13c16c1a08e4d5e 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java @@ -1,65 +1,90 @@ package de.itvsh.goofy.vorgang; -import static org.assertj.core.api.Assertions.*; - -import java.util.LinkedList; -import java.util.List; -import java.util.Optional; +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.Mockito.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.web.servlet.MockMvc; + +@SpringBootTest +@AutoConfigureMockMvc +class VorgangControllerTest { -import com.thedeanda.lorem.LoremIpsum; + final static String PATH = "/api/vorgangs"; -class VorgangControllerTest { + @Autowired + private MockMvc mockMvc; + + @MockBean + private VorgangService vorgangService; + + @BeforeEach + void initTest() { + when(vorgangService.findVorgangHeader(anyInt(), anyInt())).thenReturn(VorgangListReplyTestFactory.create()); + } - @InjectMocks - private VorgangController controller; + @Test + void shouldHaveSelfLink() throws Exception { + mockMvc.perform(get(PATH + "?page=" + 0)).andExpect(status().isOk())// + .andExpect(jsonPath("$._links.self.href").value("http://localhost" + PATH)); + } @Nested - class TestHasNextPage { - final int pageSize = 10; - List<Vorgang> VORGANG_LIST = new LinkedList<Vorgang>(); - VorgangListReply reply; - - @BeforeEach - void createVorgangList() { - for (int i = 0; i < 10; i++) { - VORGANG_LIST.add(VorgangTestFactory.createBuilder().name(i + LoremIpsum.getInstance().getName()).build()); - } - - reply = VorgangListReply.builder().total(28).vorgaenge(VORGANG_LIST).build(); + class TestVorgangListFirstPage { + final int page = 0; + + @Test + void shouldNotHavePreviousLink() throws Exception { + mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// + .andExpect(jsonPath("$._links.previous").doesNotExist()); } @Test - void firstPage() { - int page = 0; + void shouldHaveNextLink() throws Exception { + mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// + .andExpect(jsonPath("$._links.next.href").value("http://localhost" + PATH + "?page=1")); + } + } - Optional<Integer> nextPage = controller.hasNextPage(page, reply, pageSize); + @Nested + class TestVorgangInnerPage { + final int page = 1; - assertThat(nextPage.isEmpty()).isEqualTo(false); - assertThat(nextPage.get()).isEqualTo(1); + @Test + void shouldHavePreviousLink() throws Exception { + mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// + .andExpect(jsonPath("$._links.previous.href").value("http://localhost" + PATH + "?page=0")); } @Test - void secondPage() { - int page = 1; + void shouldHaveNextLink() throws Exception { + mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// + .andExpect(jsonPath("$._links.next.href").value("http://localhost" + PATH + "?page=2")); + } + } - Optional<Integer> nextPage = controller.hasNextPage(page, reply, pageSize); + @Nested + class TestVorgangLastPage { + final int page = 3; - assertThat(nextPage.isEmpty()).isEqualTo(false); - assertThat(nextPage.get()).isEqualTo(2); + @Test + void shouldHavePreviousLink() throws Exception { + mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// + .andExpect(jsonPath("$._links.previous.href").value("http://localhost" + PATH + "?page=2")); } @Test - void lastPage() { - int page = 2; - - Optional<Integer> nextPage = controller.hasNextPage(page, reply, pageSize); - - assertThat(nextPage.isEmpty()).isEqualTo(true); + void shouldHaveNextLink() throws Exception { + mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())// + .andExpect(jsonPath("$._links.next").doesNotExist()); } } } \ No newline at end of file diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerUnitTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerUnitTest.java new file mode 100644 index 0000000000000000000000000000000000000000..2a1146d68d60055f92326f8298f78b02d03babf5 --- /dev/null +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerUnitTest.java @@ -0,0 +1,65 @@ +package de.itvsh.goofy.vorgang; + +import static org.assertj.core.api.Assertions.*; + +import java.util.LinkedList; +import java.util.List; +import java.util.Optional; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; + +import com.thedeanda.lorem.LoremIpsum; + +class VorgangControllerUTest { + + @InjectMocks + private VorgangController controller; + + @Nested + class TestHasNextPage { + final int pageSize = 10; + List<Vorgang> VORGANG_LIST = new LinkedList<Vorgang>(); + VorgangListReply reply; + + @BeforeEach + void createVorgangList() { + for (int i = 0; i < 10; i++) { + VORGANG_LIST.add(VorgangTestFactory.createBuilder().name(i + LoremIpsum.getInstance().getName()).build()); + } + + reply = VorgangListReply.builder().total(28).vorgaenge(VORGANG_LIST).build(); + } + + @Test + void firstPage() { + int page = 0; + + Optional<Integer> nextPage = controller.hasNextPage(page, reply, pageSize); + + assertThat(nextPage.isEmpty()).isEqualTo(false); + assertThat(nextPage.get()).isEqualTo(1); + } + + @Test + void secondPage() { + int page = 1; + + Optional<Integer> nextPage = controller.hasNextPage(page, reply, pageSize); + + assertThat(nextPage.isEmpty()).isEqualTo(false); + assertThat(nextPage.get()).isEqualTo(2); + } + + @Test + void lastPage() { + int page = 2; + + Optional<Integer> nextPage = controller.hasNextPage(page, reply, pageSize); + + assertThat(nextPage.isEmpty()).isEqualTo(true); + } + } +} \ No newline at end of file