Skip to content
Snippets Groups Projects
Commit c3e6d1b2 authored by OZGCloud's avatar OZGCloud
Browse files

rename

parent fa42f396
No related branches found
No related tags found
No related merge requests found
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
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 com.thedeanda.lorem.LoremIpsum;
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 {
@InjectMocks
private VorgangController controller;
final static String PATH = "/api/vorgangs";
@Nested
class TestHasNextPage {
final int pageSize = 10;
List<Vorgang> VORGANG_LIST = new LinkedList<Vorgang>();
VorgangListReply reply;
@Autowired
private MockMvc mockMvc;
@BeforeEach
void createVorgangList() {
for (int i = 0; i < 10; i++) {
VORGANG_LIST.add(VorgangTestFactory.createBuilder().name(i + LoremIpsum.getInstance().getName()).build());
}
@MockBean
private VorgangService vorgangService;
reply = VorgangListReply.builder().total(28).vorgaenge(VORGANG_LIST).build();
@BeforeEach
void initTest() {
when(vorgangService.findVorgangHeader(anyInt(), anyInt())).thenReturn(VorgangListReplyTestFactory.create());
}
@Test
void firstPage() {
int page = 0;
void shouldHaveSelfLink() throws Exception {
mockMvc.perform(get(PATH + "?page=" + 0)).andExpect(status().isOk())//
.andExpect(jsonPath("$._links.self.href").value("http://localhost" + PATH));
}
Optional<Integer> nextPage = controller.hasNextPage(page, reply, pageSize);
@Nested
class TestVorgangListFirstPage {
final int page = 0;
assertThat(nextPage.isEmpty()).isEqualTo(false);
assertThat(nextPage.get()).isEqualTo(1);
@Test
void shouldNotHavePreviousLink() throws Exception {
mockMvc.perform(get(PATH + "?page=" + page)).andExpect(status().isOk())//
.andExpect(jsonPath("$._links.previous").doesNotExist());
}
@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=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(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=0"));
}
@Test
void lastPage() {
int page = 2;
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(true);
@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
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment