1 package club.wpia.gigi.dbObjects;
3 import static org.junit.Assert.*;
5 import org.hamcrest.CoreMatchers;
8 import club.wpia.gigi.GigiApiException;
9 import club.wpia.gigi.testUtils.ClientBusinessTest;
10 import club.wpia.gigi.testUtils.TestEmailReceiver.TestMail;
11 import club.wpia.gigi.util.RandomToken;
13 public class TestContract extends ClientBusinessTest {
16 public void testContract() throws GigiApiException {
18 assertEquals(Contract.getContractByUser(u, Contract.ContractType.RA_AGENT_CONTRACT), null);
20 assertFalse(Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
22 Contract c = Contract.getRAAgentContractByUser(u);
23 assertEquals(c, null);
25 c = new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
26 TestMail rc = getMailReceiver().receive(u.getEmail());
28 assertEquals(u.getEmail(), rc.getTo());
29 assertThat(rc.getMessage(), CoreMatchers.containsString("signed the RA Agent Contract"));
30 assertEquals(u.getPreferredName().toString(), c.getRAAgentName());
31 assertTrue(Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
35 c1 = new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
36 fail("double add contract must fail");
37 } catch (GigiApiException e) {
38 assertEquals("Contract exists", e.getMessage());
41 c1 = Contract.getContractByUser(u, Contract.ContractType.RA_AGENT_CONTRACT);
42 assertEquals(c.getID(), c1.getID());
44 c1 = Contract.getRAAgentContractByUser(u);
45 assertEquals(c.getID(), c1.getID());
47 c1 = Contract.getRAAgentContractByToken(c.getToken());
48 assertEquals(c.getID(), c1.getID());
50 c1 = Contract.getRAAgentContractByToken(RandomToken.generateToken(16));
51 assertEquals(c1, null);
56 public void testRevokeContract() throws GigiApiException {
57 Contract c = new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
59 TestMail rc = getMailReceiver().receive(u.getEmail());
60 assertThat(rc.getMessage(), CoreMatchers.containsString("signed the RA Agent Contract"));
64 rc = getMailReceiver().receive(u.getEmail());
65 assertEquals(u.getEmail(), rc.getTo());
66 assertThat(rc.getMessage(), CoreMatchers.containsString("revoked the RA Agent Contract"));
67 assertFalse(Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
69 Contract c1 = new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
70 rc = getMailReceiver().receive(u.getEmail());
72 assertNotEquals(c.getID(), c1.getID());
76 public void testContractInt() throws GigiApiException {
77 Contract c = new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
79 TestMail rc = getMailReceiver().receive(u.getEmail());
80 assertThat(rc.getMessage(), CoreMatchers.containsString("signed the RA Agent Contract"));
82 Contract c1 = Contract.getById(c.getID());
84 assertEquals(c.getID(), c1.getID());
85 assertEquals(c.getContractType(), c1.getContractType());
87 c1 = Contract.getById(0);
88 assertEquals(null, c1);