Skip to content

Commit 9a3daa1

Browse files
committed
Add a new test for the messages model.
1 parent 6f94216 commit 9a3daa1

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

src/main/java/io/jenkins/plugins/bootstrap5/MessagesViewModel.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,5 +93,14 @@ public Collection<String> getInfoMessages() {
9393
public Collection<String> getErrorMessages() {
9494
return errorMessages;
9595
}
96+
97+
/**
98+
* Returns whether error messages are present.
99+
*
100+
* @return {@code true} if there are error messages, {@code false} if there are only info messages
101+
*/
102+
public boolean hasErrors() {
103+
return !errorMessages.isEmpty();
104+
}
96105
}
97106

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package io.jenkins.plugins.bootstrap5;
2+
3+
import java.util.List;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
import hudson.model.Run;
8+
9+
import static java.util.Arrays.*;
10+
import static org.assertj.core.api.Assertions.*;
11+
import static org.mockito.Mockito.*;
12+
13+
/**
14+
* Tests the class {@link MessagesViewModel}.
15+
*
16+
* @author Ullrich Hafner
17+
*/
18+
class MessagesViewModelTest {
19+
private static final String TITLE = "Title";
20+
private static final String DISPLAY_NAME = TITLE + " - Messages";
21+
private static final List<String> INFO_MESSAGES = asList("One", "Two");
22+
private static final List<String> ERROR_MESSAGES = asList("Error One", "Error Two");
23+
24+
@Test
25+
void shouldCreateOnlyMessages() {
26+
Run<?, ?> build = mock(Run.class);
27+
MessagesViewModel model = new MessagesViewModel(build, TITLE, INFO_MESSAGES);
28+
29+
assertThat(model.getDisplayName()).isEqualTo(DISPLAY_NAME);
30+
assertThat(model.getOwner()).isSameAs(build);
31+
assertThat(model.getInfoMessages()).containsExactlyElementsOf(INFO_MESSAGES);
32+
assertThat(model.getErrorMessages()).isEmpty();
33+
assertThat(model.hasErrors()).isFalse();
34+
}
35+
36+
@Test
37+
void shouldCreateMessagesAndErrors() {
38+
Run<?, ?> build = mock(Run.class);
39+
MessagesViewModel model = new MessagesViewModel(build, TITLE, INFO_MESSAGES, ERROR_MESSAGES);
40+
41+
assertThat(model.getDisplayName()).isEqualTo(DISPLAY_NAME);
42+
assertThat(model.getOwner()).isSameAs(build);
43+
assertThat(model.getInfoMessages()).containsExactlyElementsOf(INFO_MESSAGES);
44+
assertThat(model.getErrorMessages()).containsExactlyElementsOf(ERROR_MESSAGES);
45+
assertThat(model.hasErrors()).isTrue();
46+
}
47+
}

0 commit comments

Comments
 (0)