1 package civitas.common.mix.votemix;
2
3 import static org.junit.jupiter.api.Assertions.assertThrows;
4 import static org.mockito.Mockito.verify;
5
6 import org.junit.jupiter.api.DisplayName;
7 import org.junit.jupiter.api.Test;
8 import org.mockito.InjectMocks;
9
10 import civitas.common.RandomAwareTestBase;
11 import civitas.common.VoteTestData;
12
13 class AddVoteAndCommitmentToVoteMixTest extends RandomAwareTestBase implements VoteMixTestData, VoteTestData {
14
15 @InjectMocks
16 AddVoteAndCommitmentToVoteMix addVoteAndCommitmentToVoteMix;
17
18 @Test
19 @DisplayName("adds the vote to the mix and adds the commitment to the mix")
20 void test() {
21 addVoteAndCommitmentToVoteMix.apply(VOTE_MIX_MOCK, VOTE_MOCK, BYTES);
22 verify(addVoteAndCommitmentToVoteMix.addCommitmentToMix).apply(VOTE_MIX_MOCK, BYTES);
23 verify(addVoteAndCommitmentToVoteMix.addVoteToVoteMix).apply(VOTE_MIX_MOCK, VOTE_MOCK);
24 }
25
26 @Test
27 @DisplayName("if the mix is null, a NullPointerException is thrown")
28 void test1() {
29 assertThrows(NullPointerException.class, () -> addVoteAndCommitmentToVoteMix.apply(null, VOTE_MOCK, BYTES));
30 }
31
32 @Test
33 @DisplayName("if the vote is null, a NullPointerException is thrown")
34 void test2() {
35 assertThrows(NullPointerException.class, () -> addVoteAndCommitmentToVoteMix.apply(VOTE_MIX_MOCK, null, BYTES));
36 }
37
38 @Test
39 @DisplayName("if the commitments is null, a NullPointerException is thrown")
40 void test3() {
41 assertThrows(
42 NullPointerException.class, () -> addVoteAndCommitmentToVoteMix.apply(VOTE_MIX_MOCK, VOTE_MOCK, null));
43 }
44 }