/
ZufarFaiz
/
SberProject
Обзор
Документация
Войти
/
ZufarFaiz
/
SberProject
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/test/java/com/example/JobExchange_app/serviceTests/ApplicantServiceImplPositiveTest.java
90 строк
3 KB
Семейный
Написал тесты к контроллерам, сервисам. Пока только 47%. Дополню позже
01 июн 2025, 23:34
01 июн 2025, 23:34
dd92030
Код
Авторство
О чём код?
package com.example.JobExchange_app.serviceTests; import com.example.JobExchange_app.dto.ApplicantProfileDto; import com.example.JobExchange_app.model.Applicant; import com.example.JobExchange_app.model.JobResponse; import com.example.JobExchange_app.model.Role; import com.example.JobExchange_app.model.User; import com.example.JobExchange_app.repository.ApplicantRepository; import com.example.JobExchange_app.service.impl.ApplicantServiceImpl; import jakarta.persistence.EntityNotFoundException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import java.util.Optional; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) class ApplicantServiceImplPositiveTest { @Mock private ApplicantRepository applicantRepository; @InjectMocks private ApplicantServiceImpl applicantService; private User mockUser; private Applicant mockApplicant; @BeforeEach void setUp() { mockUser = new User(); mockUser.setUserName("testUser"); mockUser.setEmail("test@mail.ru"); mockUser.setRole(Role.APPLICANT); mockApplicant = new Applicant(); mockApplicant.setUser(mockUser); mockApplicant.setEducation("MIT"); mockApplicant.setResume("Senior Java Developer"); mockApplicant.getResponses().add(new JobResponse()); } @Test void getProfile_shouldReturnProfileIfApplicantExists() { String username = "testUser"; when(applicantRepository.findByUserName(username)) .thenReturn(Optional.of(mockApplicant)); ApplicantProfileDto result = applicantService.getProfile(username); assertNotNull(result); assertEquals(username, result.getUserName()); assertEquals("MIT", result.getEducation()); assertEquals("test@mail.ru", result.getEmail()); assertEquals("Senior Java Developer", result.getResume()); assertEquals(1, result.getCountResponses()); // Проверяем количество откликов verify(applicantRepository, times(1)).findByUserName(username); verify(applicantRepository, never()).save(any()); } @Test void updateProfile_shouldUpdateApplicantData() { ApplicantProfileDto request = new ApplicantProfileDto( "testUser", "new@mail.ru", "Harvard", "Updated Resume", 0 ); when(applicantRepository.findByUserName("testUser")) .thenReturn(Optional.of(mockApplicant)); applicantService.updateProfile("testUser", request); assertEquals("Harvard", mockApplicant.getEducation()); assertEquals("Updated Resume", mockApplicant.getResume()); verify(applicantRepository).save(mockApplicant); } }