composite-build-usage-example

Форк
0
/
OnlyOneFieldModifiedValidatorTest.java 
73 строки · 2.3 Кб
1
package by.andd3dfx.templateapp.validators;
2

3
import by.andd3dfx.templateapp.dto.ArticleUpdateDto;
4
import org.junit.jupiter.api.Test;
5
import org.junit.jupiter.api.extension.ExtendWith;
6
import org.mockito.InjectMocks;
7
import org.mockito.Mock;
8
import org.mockito.junit.jupiter.MockitoExtension;
9

10
import javax.validation.ConstraintValidatorContext;
11

12
import static org.hamcrest.CoreMatchers.is;
13
import static org.hamcrest.MatcherAssert.assertThat;
14

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

18
    @Mock
19
    private ConstraintValidatorContext contextMock;
20

21
    @InjectMocks
22
    private OnlyOneFieldModifiedValidator onlyOneFieldModifiedValidator; // constructor injection
23

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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