/
on-line-javalex
/
HW_NoSQL_JavaData
Обзор
Документация
Войти
/
on-line-javalex
/
HW_NoSQL_JavaData
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/java/Mommy/MommyApplicationTest.java
67 строк
3 KB
on-line-javalex
create: GlobalExceptionHandlerTest.java, UserControllerTest.java, UserMapperTest.java, MommyApplicationTest.java, UserServiceTest.java
12 май 2026, 13:59
Верифицирован
12 май 2026, 13:59
311e66f
Код
Авторство
О чём код?
package Mommy; import com.fasterxml.jackson.databind.ObjectMapper; import Mommy.dto.UserCreateRequest; 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.http.MediaType; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.springframework.test.web.servlet.MockMvc; import org.testcontainers.containers.MongoDBContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @AutoConfigureMockMvc @Testcontainers public class MommyApplicationTest { @Container static MongoDBContainer mongoDBContainer = new MongoDBContainer("mongo:7.0"); @Autowired private MockMvc mockMvc; @Autowired private ObjectMapper objectMapper; @DynamicPropertySource static void setProperties (DynamicPropertyRegistry registry){ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl); } @Test void contextTryLoad(){} @Test void tryCreateUserAndGetListForExperience () throws Exception{ String nameUser = "Test User"; String emailUser = "test@example.com"; Integer age = 25; //1.Arrange - Создаём объект запроса UserCreateRequest request = new UserCreateRequest(emailUser,nameUser,age); //2.Act - Выполняем POST-запрос с JSON-телом, ожидаем статус 201 (Created) mockMvc.perform(post("/api/users") .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(request))) // сериализуем объект в JSON //Assert-Проверяем ответ .andExpect(status().isCreated()) // ожидаем HTTP 201 .andExpect(jsonPath("$.id").isNotEmpty()) // поле "id" не пустое .andExpect(jsonPath("$.name").value(nameUser)) // имя совпадает .andExpect(jsonPath("$.email").value(emailUser)) .andExpect(jsonPath("$.age").value(age)); // 3. Выполняем GET-запрос для получения списка пользователей (с пагинацией) mockMvc.perform(get("api/users")) .andExpect(status().isOk()) // Must HTTP 200 .andExpect(jsonPath("$.content").isArray()) // Must massive .andExpect(jsonPath("$.totalElements").value(1)); // Only One } }