ListPublisherVersionsViewTest.java
4.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package org.legrog.web.publisher;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.DisplayName;
import org.legrog.entities.Publisher;
import org.legrog.entities.PublisherAction;
import org.legrog.entities.PublisherVersion;
import org.legrog.test.MockitoExtension;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.*;
/**
* Classe testant ListPublisherVersionsView.
*/
@RunWith(JUnitPlatform.class)
@ExtendWith(MockitoExtension.class)
@DisplayName("Shows lists of publisher versions, permits validation of one and retrieves last validation of one")
public class ListPublisherVersionsViewTest {
Logger logger = LoggerFactory.getLogger(getClass());
private ListPublisherVersionsView listPublisherVersionsView;
private List<PublisherVersion> publisherVersions;
private PublisherVersion publisherVersion;
private PublisherVersion publisherVersion1;
private PublisherVersion publisherVersion2;
private Publisher publisher;
private Publisher publisher1;
PublisherAction publisherAction;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PublisherService publisherService;
@BeforeEach
public void setUp() {
// Données
publisherVersion = new PublisherVersion();
publisherVersion1 = new PublisherVersion();
publisherVersion2 = new PublisherVersion();
publisherVersion.setPublisherVersionId(0);
publisherVersion1.setPublisherVersionId(1);
publisherVersion2.setPublisherVersionId(2);
publisher = new Publisher();
publisher1 = new Publisher();
publisher.setPublisherId(0);
publisher1.setPublisherId(1);
publisherVersion.setPublisher(publisher);
publisherVersion1.setPublisher(publisher1);
publisherVersion2.setPublisher(publisher);
publisher.setValidatedVersion(publisherVersion);
publisherVersions = new ArrayList<PublisherVersion>();
publisherVersions.add(publisherVersion);
publisherVersions.add(publisherVersion1);
publisherAction = new PublisherAction();
// Mock
when(publisherService.getAllPublisherVersions()).thenReturn(publisherVersions);
listPublisherVersionsView = new ListPublisherVersionsView(publisherService);
when(publisherService.getLastValidate(publisher)).thenReturn(publisherAction);
when(publisherService.getLastValidate(publisher1)).thenReturn(null);
}
@Test
@DisplayName("when publisher is not set, should list all versions")
public void testSetViewAll() {
listPublisherVersionsView.setPublisherId(null);
listPublisherVersionsView.setView();
Mockito.verify(publisherService).getAllPublisherVersions();
assertThat(listPublisherVersionsView.isViewAll()).isTrue();
assertThat(listPublisherVersionsView.getPublisherVersions()).isEqualTo(publisherVersions);
}
@Test
@DisplayName("when publisher is set, should list pulisher's versions")
public void testSetViewNotAllAlsoTestingFilterOnId() {
listPublisherVersionsView.setPublisherId(1);
listPublisherVersionsView.setView();
Mockito.verify(publisherService).getAllPublisherVersions();
assertThat(listPublisherVersionsView.isViewAll()).isFalse();
assertThat(listPublisherVersionsView.getPublisherVersions()).containsExactly(publisherVersion1);
}
@Test
@DisplayName("when validating a publisher version, should call service method")
public void testValidate() {
listPublisherVersionsView.setPublisherId(0);
listPublisherVersionsView.validate(publisherVersion2);
Mockito.verify(publisherService).validatePublisherVersion(publisherVersion2);
}
@Test
@DisplayName("when requested the last validate for a publisher, should call service method")
public void testGetLastValidate() {
assertThat(listPublisherVersionsView.getLastValidate(publisher)).isEqualTo(publisherAction);
}
@Test
@DisplayName("when requested the last validate for a publisher that has none, should get null")
public void testGetLastValidateNull() {
assertThat(listPublisherVersionsView.getLastValidate(publisher1)).isNull();
}
}