/
ZufarFaiz
/
SberProject
Обзор
Документация
Войти
/
ZufarFaiz
/
SberProject
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/test/java/com/example/JobExchange_app/serviceTests/JobServiceImplNegativeTest.java
59 строк
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.exception.NegativeSalaryException; import com.example.JobExchange_app.exception.NotNullTitleException; 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 static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @ExtendWith(MockitoExtension.class) public class JobServiceImplNegativeTest { @Mock RecruiterRepository recruiterRepository; @Mock JobRepository jobRepository; @InjectMocks JobServiceImpl jobService; @Test void publishVacancy_shouldThrowExceptionWhenTitleIsNull() { // given JobDto request = new JobDto(); request.setTitle(null); request.setDescription("Описание"); request.setSalary( 100000); // when + then assertThrows(NotNullTitleException.class, () -> { jobService.publishVacancy("anyUser", request); }); verify(jobRepository, never()).save(any()); } @Test void publishVacancy_shouldThrowExceptionWhenSalaryNegative() { JobDto request = new JobDto(); request.setTitle("Title"); request.setDescription("Desc"); request.setSalary(-100); assertThrows(NegativeSalaryException.class, () -> { jobService.publishVacancy("anyUser", request); }); } }