articles-backend-app

Форк
0
59 строк · 2.3 Кб
1
package by.andd3dfx.controllers;
2

3
import static org.hamcrest.CoreMatchers.containsString;
4
import static org.hamcrest.CoreMatchers.is;
5
import static org.hamcrest.MatcherAssert.assertThat;
6
import static org.hamcrest.Matchers.hasSize;
7
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
8
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
9
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
10
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
11

12
import by.andd3dfx.ArticlesBackendAppApplication;
13
import org.junit.jupiter.api.BeforeEach;
14
import org.junit.jupiter.api.Test;
15
import org.springframework.beans.factory.annotation.Autowired;
16
import org.springframework.boot.test.context.SpringBootTest;
17
import org.springframework.test.context.web.WebAppConfiguration;
18
import org.springframework.test.web.servlet.MockMvc;
19
import org.springframework.web.context.WebApplicationContext;
20

21
@SpringBootTest(classes = ArticlesBackendAppApplication.class)
22
@WebAppConfiguration
23
class AuthorControllerTest {
24

25
    private MockMvc mockMvc;
26

27
    @Autowired
28
    private WebApplicationContext webApplicationContext;
29

30
    @BeforeEach
31
    public void setup() {
32
        mockMvc = webAppContextSetup(webApplicationContext)
33
            .build();
34
    }
35

36
    @Test
37
    public void readAuthor() throws Exception {
38
        mockMvc.perform(get("/api/v1/authors/1"))
39
            .andExpect(status().isOk())
40
            .andExpect(jsonPath("$.id", is(1)))
41
            .andExpect(jsonPath("$.firstName", is("Тихон")))
42
            .andExpect(jsonPath("$.lastName", is("Задонский")));
43
    }
44

45
    @Test
46
    public void readAbsentAuthor() throws Exception {
47
        String message = mockMvc.perform(get("/api/v1/authors/345"))
48
            .andExpect(status().isNotFound())
49
            .andReturn().getResolvedException().getMessage();
50
        assertThat(message, containsString("Could not find an author by id=345"));
51
    }
52

53
    @Test
54
    public void readAuthors() throws Exception {
55
        mockMvc.perform(get("/api/v1/authors"))
56
            .andExpect(status().isOk())
57
            .andExpect(jsonPath("$", hasSize(11)));
58
    }
59
}
60

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.