/
ZufarFaiz
/
SberProject
Обзор
Документация
Войти
/
ZufarFaiz
/
SberProject
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/test/java/com/example/JobExchange_app/serviceTests/JobResponseServiceImplPositiveTest.java
103 строки
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.*; import com.example.JobExchange_app.repository.ApplicantRepository; import com.example.JobExchange_app.repository.JobRepository; import com.example.JobExchange_app.repository.JobResponseRepository; import com.example.JobExchange_app.service.impl.JobResponseServiceImpl; 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.List; import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) class JobResponseServiceImplPositiveTest { @Mock private ApplicantRepository applicantRepository; @Mock private JobResponseRepository jobResponseRepository; @Mock private JobRepository jobRepository; @InjectMocks private JobResponseServiceImpl jobResponseService; @Test void respondToVacancy_shouldCreateNewResponseWhenNoDuplicate() { // given String username = "testUser"; Long jobId = 1L; Long applicantId = 10L; Applicant applicant = new Applicant(); applicant.setApplicantId(applicantId); User user = new User(); user.setUserName(username); applicant.setUser(user); Job job = new Job(); job.setJobId(jobId); when(applicantRepository.findByUserName(username)) .thenReturn(Optional.of(applicant)); when(jobRepository.findById(jobId)) .thenReturn(Optional.of(job)); when(jobResponseRepository.existsByJob_jobIdAndApplicant_applicantId(jobId, applicantId)) .thenReturn(false); jobResponseService.respondToVacancy(username, jobId); verify(jobResponseRepository).save(argThat(response -> response.getStatus() == ResponseStatus.NEW && response.getJob().getJobId().equals(jobId) && response.getApplicant().getApplicantId().equals(applicantId) )); } @Test void viewApplicants_shouldReturnApplicantsWhenJobExists() { Long jobId = 1L; User user1 = new User(); user1.setUserName("ivan"); user1.setEmail("ivan@mail.ru"); Applicant applicant1 = new Applicant(); applicant1.setUser(user1); applicant1.setEducation("MGU"); applicant1.setResume("Java dev"); JobResponse response = new JobResponse(); response.setApplicant(applicant1); Job job=new Job(); job.setJobId(jobId); response.setJob(job); when(jobResponseRepository.findByJobId(jobId)) .thenReturn(List.of(response)); List<ApplicantProfileDto> result = jobResponseService.viewApplicants(jobId); assertEquals(1, result.size()); ApplicantProfileDto dto = result.get(0); assertEquals("ivan", dto.getUserName()); assertEquals("ivan@mail.ru", dto.getEmail()); assertEquals("MGU", dto.getEducation()); assertEquals("Java dev", dto.getResume()); } }