composite-build-usage-example

Форк
0
119 строк · 4.0 Кб
1
package by.andd3dfx.templateapp.mappers;
2

3
import by.andd3dfx.templateapp.dto.ArticleDto;
4
import by.andd3dfx.templateapp.dto.ArticleUpdateDto;
5
import by.andd3dfx.templateapp.persistence.entities.Article;
6
import org.junit.jupiter.api.Test;
7
import org.mapstruct.factory.Mappers;
8

9
import java.time.LocalDateTime;
10
import java.util.Arrays;
11
import java.util.List;
12

13
import static org.hamcrest.CoreMatchers.is;
14
import static org.hamcrest.CoreMatchers.nullValue;
15
import static org.hamcrest.MatcherAssert.assertThat;
16

17
class ArticleMapperTest {
18

19
    private ArticleMapper mapper = Mappers.getMapper(ArticleMapper.class);
20

21
    @Test
22
    void toArticleDto() {
23
        Article article = buildArticle();
24

25
        ArticleDto articleDto = mapper.toArticleDto(article);
26
        checkCompareAssertions(articleDto, article);
27
    }
28

29
    @Test
30
    void toArticleDtoForNull() {
31
        assertThat(mapper.toArticleDto(null), nullValue());
32
    }
33

34
    @Test
35
    void toArticleDtoList() {
36
        Article article = buildArticle();
37
        List<Article> articles = Arrays.asList(article);
38

39
        List<ArticleDto> articleDtoItems = mapper.toArticleDtoList(articles);
40
        assertThat("Wrong result list size", articleDtoItems.size(), is(1));
41
        checkCompareAssertions(articleDtoItems.get(0), article);
42
    }
43

44
    @Test
45
    void toArticleDtoListForNull() {
46
        assertThat(mapper.toArticleDtoList(null), nullValue());
47
    }
48

49
    @Test
50
    void toArticle() {
51
        ArticleDto articleDto = buildArticleDto();
52

53
        Article article = mapper.toArticle(articleDto);
54
        checkCompareAssertions(articleDto, article);
55
    }
56

57
    @Test
58
    void toArticleForNull() {
59
        assertThat(mapper.toArticle(null), nullValue());
60
    }
61

62
    @Test
63
    void toArticleWithTarget() {
64
        ArticleUpdateDto source = new ArticleUpdateDto();
65
        final String NEW_TITLE = "New title";
66
        source.setTitle(NEW_TITLE);
67
        Article target = buildArticle();
68
        final String OLD_TEXT = target.getText();
69

70
        mapper.toArticle(source, target);
71

72
        assertThat(target.getTitle(), is(NEW_TITLE));
73
        assertThat(target.getText(), is(OLD_TEXT));
74
    }
75

76
    @Test
77
    void toArticleWithTargetForNull() {
78
        Article target = buildArticle();
79
        final String OLD_TEXT = target.getText();
80

81
        mapper.toArticle(null, target);
82

83
        assertThat(target.getText(), is(OLD_TEXT));
84
    }
85

86
    private Article buildArticle() {
87
        Article article = new Article();
88
        article.setId(123L);
89
        article.setTitle("Some tittle value");
90
        article.setSummary("Some summary value");
91
        article.setText("Some text");
92
        article.setAuthor("John Deer");
93
        article.setDateCreated(LocalDateTime.of(1980, 9, 21, 0, 0));
94
        article.setDateUpdated(LocalDateTime.of(2011, 3, 5, 0, 0));
95
        return article;
96
    }
97

98
    private ArticleDto buildArticleDto() {
99
        ArticleDto articleDto = new ArticleDto();
100
        articleDto.setId(123L);
101
        articleDto.setTitle("Some tittle value");
102
        articleDto.setSummary("Some summary value");
103
        articleDto.setText("Some text");
104
        articleDto.setAuthor("John Deer");
105
        articleDto.setDateCreated(LocalDateTime.of(1980, 9, 21, 0, 0));
106
        articleDto.setDateUpdated(LocalDateTime.of(2011, 3, 5, 0, 0));
107
        return articleDto;
108
    }
109

110
    private void checkCompareAssertions(ArticleDto articleDto, Article article) {
111
        assertThat("Wrong id", article.getId(), is(articleDto.getId()));
112
        assertThat("Wrong title", article.getTitle(), is(articleDto.getTitle()));
113
        assertThat("Wrong summary", article.getSummary(), is(articleDto.getSummary()));
114
        assertThat("Wrong text", article.getText(), is(articleDto.getText()));
115
        assertThat("Wrong author", article.getAuthor(), is(articleDto.getAuthor()));
116
        assertThat("Wrong date created", article.getDateCreated(), is(articleDto.getDateCreated()));
117
        assertThat("Wrong date updated", article.getDateUpdated(), is(articleDto.getDateUpdated()));
118
    }
119
}

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

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

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

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