composite-build-usage-example

Форк
0
78 строк · 2.8 Кб
1
package by.andd3dfx.templateapp.persistence.dao;
2

3
import by.andd3dfx.templateapp.IntegrationTestInitializer;
4
import by.andd3dfx.templateapp.persistence.entities.Article;
5
import org.junit.jupiter.api.AfterEach;
6
import org.junit.jupiter.api.BeforeEach;
7
import org.junit.jupiter.api.Test;
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
10
import org.springframework.boot.test.context.SpringBootTest;
11
import org.springframework.data.domain.PageRequest;
12
import org.springframework.data.domain.Sort;
13
import org.springframework.test.context.ContextConfiguration;
14

15
import java.time.LocalDateTime;
16
import java.util.Arrays;
17
import java.util.List;
18

19
import static org.hamcrest.CoreMatchers.is;
20
import static org.hamcrest.MatcherAssert.assertThat;
21
import static org.junit.jupiter.api.Assertions.assertTrue;
22

23
@ContextConfiguration(initializers = IntegrationTestInitializer.class)
24
@SpringBootTest
25
class ArticleRepositoryTest {
26

27
    @Autowired
28
    private ArticleRepository repository;
29

30
    private Article entity;
31
    private Article entity2;
32
    private Article entity3;
33

34
    @BeforeEach
35
    public void setup() {
36
        repository.deleteAll();
37
        entity = buildArticle("Ivan", "HD", LocalDateTime.parse("2010-12-03T10:15:30"));
38
        entity2 = buildArticle("Vasily", "HD", LocalDateTime.parse("2011-12-03T10:15:30"));
39
        entity3 = buildArticle("Ivan", "4K", LocalDateTime.parse("2012-12-03T10:15:30"));
40
        repository.saveAll(Arrays.asList(entity, entity2, entity3));
41
    }
42

43
    @AfterEach
44
    public void tearDown() {
45
        repository.deleteAll();
46
    }
47

48
    @Test
49
    public void findAll() {
50
        var result = repository.findAll(PageRequest.of(0, 10));
51

52
        assertThat("Wrong records amount", result.getNumberOfElements(), is(3));
53
    }
54

55
    @Test
56
    public void findAll_withPageNSizeNSorting() {
57
        var result = repository.findAll(PageRequest.of(0, 2, Sort.by("title", "summary")));
58

59
        assertThat("Wrong records amount", result.getNumberOfElements(), is(2));
60
        var articles = result.getContent();
61

62
        assertThat(articles.get(0).getTitle(), is(entity3.getTitle()));
63
        assertThat(articles.get(0).getSummary(), is(entity3.getSummary()));
64

65
        assertThat(articles.get(1).getTitle(), is(entity.getTitle()));
66
        assertThat(articles.get(1).getSummary(), is(entity.getSummary()));
67
    }
68

69
    private static Article buildArticle(String title, String summary, LocalDateTime timestamp) {
70
        Article article = new Article();
71
        article.setTitle(title);
72
        article.setSummary(summary);
73
        article.setText("any text");
74
        article.setTimestamp(timestamp);
75
        article.setAuthor("Some author");
76
        return article;
77
    }
78
}

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

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

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

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