articles-backend-app

Форк
0
/
ExistingAuthorValidatorTest.java 
61 строка · 1.9 Кб
1
package by.andd3dfx.validators;
2

3
import static org.hamcrest.CoreMatchers.is;
4
import static org.hamcrest.MatcherAssert.assertThat;
5

6
import by.andd3dfx.dto.AuthorDto;
7
import by.andd3dfx.persistence.dao.AuthorRepository;
8
import jakarta.validation.ConstraintValidatorContext;
9
import org.junit.jupiter.api.Test;
10
import org.junit.jupiter.api.extension.ExtendWith;
11
import org.mockito.InjectMocks;
12
import org.mockito.Mock;
13
import org.mockito.Mockito;
14
import org.mockito.junit.jupiter.MockitoExtension;
15

16
@ExtendWith(MockitoExtension.class)
17
class ExistingAuthorValidatorTest {
18

19
    @Mock
20
    private AuthorRepository authorRepositoryMock;
21

22
    @Mock
23
    private ConstraintValidatorContext contextMock;
24

25
    @InjectMocks
26
    private ExistingAuthorValidator existingAuthorValidator;
27

28
    @Test
29
    void isValidForNullAuthor() {
30
        assertThat(existingAuthorValidator.isValid(null, contextMock), is(false));
31
    }
32

33
    @Test
34
    void isValidForAuthorWithNullId() {
35
        assertThat(existingAuthorValidator.isValid(new AuthorDto(), contextMock), is(false));
36
    }
37

38
    @Test
39
    void isValidForAuthorWhichNotPresentInDb() {
40
        AuthorDto author = new AuthorDto();
41
        final long AUTHOR_ID = 21L;
42
        author.setId(AUTHOR_ID);
43
        Mockito.when(authorRepositoryMock.existsById(AUTHOR_ID)).thenReturn(false);
44

45
        assertThat(existingAuthorValidator.isValid(author, contextMock), is(false));
46

47
        Mockito.verify(authorRepositoryMock).existsById(AUTHOR_ID);
48
    }
49

50
    @Test
51
    void isValid() {
52
        AuthorDto author = new AuthorDto();
53
        final long AUTHOR_ID = 21L;
54
        author.setId(AUTHOR_ID);
55
        Mockito.when(authorRepositoryMock.existsById(AUTHOR_ID)).thenReturn(true);
56

57
        assertThat(existingAuthorValidator.isValid(author, contextMock), is(true));
58

59
        Mockito.verify(authorRepositoryMock).existsById(AUTHOR_ID);
60
    }
61
}
62

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.