Projekt

Obecné

Profil

Stáhnout (2.54 KB) Statistiky
| Větev: | Tag: | Revize:
1
package cz.zcu.kiv.backendapi.titlepage;
2

    
3
import org.junit.jupiter.api.BeforeEach;
4
import org.junit.jupiter.api.Test;
5
import org.junit.jupiter.api.extension.ExtendWith;
6
import org.mockito.ArgumentCaptor;
7
import org.mockito.Mock;
8
import org.mockito.junit.jupiter.MockitoExtension;
9

    
10
import java.util.Optional;
11

    
12
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
13
import static org.mockito.ArgumentMatchers.any;
14
import static org.mockito.BDDMockito.given;
15
import static org.mockito.Mockito.never;
16
import static org.mockito.Mockito.verify;
17

    
18
@ExtendWith(MockitoExtension.class)
19
class TitlePageServiceImplementationTest {
20

    
21
    @Mock
22
    private TitlePageRepository titlePageRepository;
23

    
24
    private TitlePageServiceImplementation underTest;
25

    
26
    @BeforeEach
27
    void setUp() {
28
        underTest = new TitlePageServiceImplementation(titlePageRepository);
29
    }
30

    
31
    @Test
32
    void testAddTitlePage() {
33
        // given
34
        long id = 1;
35
        TitlePage titlePage = new TitlePage();
36
        titlePage.setContent("content");
37

    
38
        // when
39
        underTest.updateTitlePage(titlePage);
40

    
41
        // then
42
        ArgumentCaptor<TitlePage> argumentCaptor = ArgumentCaptor.forClass(TitlePage.class);
43

    
44
        verify(titlePageRepository).save(argumentCaptor.capture());
45

    
46
        TitlePage capturedTitlePage = argumentCaptor.getValue();
47

    
48
        assertThat(capturedTitlePage.getId()).isEqualTo(id);
49

    
50
        assertThat(capturedTitlePage).isEqualTo(titlePage);
51

    
52
    }
53

    
54
    @Test
55
    void testGetTitlePageWhenExists() {
56
        // given
57
        long id = 1;
58
        TitlePage titlePage = new TitlePage(id, "content");
59

    
60
        given(titlePageRepository.findById(id)).willReturn(Optional.of(titlePage));
61

    
62
        // when
63
        TitlePage result = underTest.getTitlePage();
64

    
65
        // then
66
        verify(titlePageRepository).findById(id);
67
        verify(titlePageRepository, never()).save(any());
68

    
69
        assertThat(result).isEqualTo(titlePage);
70

    
71
    }
72

    
73
    @Test
74
    void testGetTitlePageWhenNotExists() {
75
        // given
76
        long id = 1;
77
        TitlePage titlePage = new TitlePage(id, "");
78

    
79
        given(titlePageRepository.findById(id)).willReturn(Optional.empty());
80

    
81
        // when
82
        underTest.getTitlePage();
83

    
84
        // then
85
        verify(titlePageRepository).findById(id);
86

    
87
        ArgumentCaptor<TitlePage> argumentCaptor = ArgumentCaptor.forClass(TitlePage.class);
88

    
89
        verify(titlePageRepository).save(argumentCaptor.capture());
90

    
91
        TitlePage capturedTitlePage = argumentCaptor.getValue();
92

    
93
        assertThat(capturedTitlePage).isEqualTo(titlePage);
94

    
95
    }
96
}
    (1-1/1)