/
ZufarFaiz
/
SberProject
Обзор
Документация
Войти
/
ZufarFaiz
/
SberProject
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/test/java/com/example/JobExchange_app/serviceTests/JobServiceImplPositiveTest.java
77 строк
2 KB
Семейный
Написал тесты к контроллерам, сервисам. Пока только 47%. Дополню позже
01 июн 2025, 23:34
01 июн 2025, 23:34
dd92030
Код
Авторство
О чём код?
package com.example.JobExchange_app.serviceTests; import com.example.JobExchange_app.dto.JobDto; import com.example.JobExchange_app.model.Company; import com.example.JobExchange_app.model.Recruiter; import com.example.JobExchange_app.model.Role; import com.example.JobExchange_app.model.User; import com.example.JobExchange_app.repository.JobRepository; import com.example.JobExchange_app.repository.RecruiterRepository; import com.example.JobExchange_app.service.impl.JobServiceImpl; 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.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) public class JobServiceImplPositiveTest { @Mock RecruiterRepository recruiterRepository; @Mock JobRepository jobRepository; @InjectMocks JobServiceImpl jobService; @Test void publishVacancy_shouldSaveJobWhenDataIsValid() { // given String username = "recruiter"; JobDto request = new JobDto(); request.setTitle("Java Developer"); request.setDescription("Разработка на Spring"); request.setSalary(150000); Recruiter recruiter = new Recruiter(); User user = new User(); user.setUserName(username); user.setPassword("1212test"); user.setEmail("masas@mail.ru"); user.setRole(Role.RECRUITER); Company company = new Company(); company.setName("TechCorp"); recruiter.setUser(user); recruiter.setCompany(company); when(recruiterRepository.findByUserName(username)) .thenReturn(Optional.of(recruiter)); jobService.publishVacancy(username, request); verify(jobRepository).save(argThat(job -> job.getTitle().equals("Java Developer") && job.getDescription().equals("Разработка на Spring") && job.getSalary() == 150000 && job.getRecruiter().equals(recruiter) && job.getCompany().equals(company) )); } @Test void deleteVacancy_shouldCallRepositoryDelete() { Long jobId = 1L; jobService.deleteVacancy(jobId); verify(jobRepository).deleteById(jobId); } }