articles-backend-app

Форк
0
/
OnlyOneFieldModifiedValidatorTest.java 
72 строки · 2.3 Кб
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.ArticleUpdateDto;
7
import jakarta.validation.ConstraintValidatorContext;
8
import org.junit.jupiter.api.Test;
9
import org.junit.jupiter.api.extension.ExtendWith;
10
import org.mockito.InjectMocks;
11
import org.mockito.Mock;
12
import org.mockito.junit.jupiter.MockitoExtension;
13

14
@ExtendWith(MockitoExtension.class)
15
class OnlyOneFieldModifiedValidatorTest {
16

17
    @Mock
18
    private ConstraintValidatorContext contextMock;
19

20
    @InjectMocks
21
    private OnlyOneFieldModifiedValidator onlyOneFieldModifiedValidator;
22

23
    @Test
24
    void isValidWhenNoFieldsChanged() {
25
        ArticleUpdateDto article = new ArticleUpdateDto();
26

27
        assertThat(onlyOneFieldModifiedValidator.isValid(article, contextMock), is(false));
28
    }
29

30
    @Test
31
    void isValidWhenOneFieldChanged_ForTitle() {
32
        ArticleUpdateDto article = new ArticleUpdateDto();
33
        article.setTitle("Some Title");
34

35
        assertThat(onlyOneFieldModifiedValidator.isValid(article, contextMock), is(true));
36
    }
37

38
    @Test
39
    void isValidWhenOneFieldChanged_ForSummary() {
40
        ArticleUpdateDto article = new ArticleUpdateDto();
41
        article.setSummary("Some Summary");
42

43
        assertThat(onlyOneFieldModifiedValidator.isValid(article, contextMock), is(true));
44
    }
45

46
    @Test
47
    void isValidWhenOneFieldChanged_ForText() {
48
        ArticleUpdateDto article = new ArticleUpdateDto();
49
        article.setText("Some Text");
50

51
        assertThat(onlyOneFieldModifiedValidator.isValid(article, contextMock), is(true));
52
    }
53

54
    @Test
55
    void isValidWhenTwoFieldsChanged() {
56
        ArticleUpdateDto article = new ArticleUpdateDto();
57
        article.setTitle("Some Title");
58
        article.setSummary("Some Summary");
59

60
        assertThat(onlyOneFieldModifiedValidator.isValid(article, contextMock), is(false));
61
    }
62

63
    @Test
64
    void isValidWhenThreeFieldsChanged() {
65
        ArticleUpdateDto article = new ArticleUpdateDto();
66
        article.setTitle("Some Title");
67
        article.setSummary("Some Summary");
68
        article.setText("Some Text");
69

70
        assertThat(onlyOneFieldModifiedValidator.isValid(article, contextMock), is(false));
71
    }
72
}
73

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

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

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

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