View Javadoc
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  }