import java.security.GeneralSecurityException;
import java.sql.Date;
+import org.hamcrest.CoreMatchers;
import org.junit.Test;
import club.wpia.gigi.GigiApiException;
import club.wpia.gigi.dbObjects.CATS.CATSType;
import club.wpia.gigi.dbObjects.NamePart.NamePartType;
+import club.wpia.gigi.testUtils.ArrayContains;
import club.wpia.gigi.testUtils.ClientBusinessTest;
public class TestUser extends ClientBusinessTest {
assertTrue(u.hasValidTTPAgentChallenge());
}
+ @Test
+ public void testHasContract() throws GigiApiException {
+ assertEquals(false, Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
+
+ Contract c = new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
+ getMailReceiver().receive(u.getEmail());
+ assertEquals(true, Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
+
+ c.revokeContract();
+ getMailReceiver().receive(u.getEmail());
+ assertEquals(false, Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
+ }
+
+ @Test
+ public void testWriteUserLog() throws GigiApiException {
+ String type = "Log test";
+ u.writeUserLog(u, type);
+ String[] result = u.getAdminLog();
+ assertThat(result, ArrayContains.contains(CoreMatchers.equalTo(type)));
+
+ String type1 = "Log test1";
+ u.writeUserLog(u, type1);
+ result = u.getAdminLog();
+ assertThat(result, ArrayContains.contains(CoreMatchers.equalTo(type1)));
+ assertThat(result, ArrayContains.contains(CoreMatchers.equalTo(type)));
+ }
+
+ @Test
+ public void testValidVerification() throws GigiApiException {
+ User u0 = User.getById(createVerifiedUser("f", "l", createUniqueName() + "@email.com", TEST_PASSWORD));
+ assertFalse(u0.isValidNameVerification(u0.getPreferredName().toString()));
+
+ add100Points(u0.getId());
+ assertTrue(u0.isValidNameVerification(u0.getPreferredName().toString()));
+
+ setVerificationDateToPast(u0.getPreferredName());
+ assertFalse(u0.isValidNameVerification(u0.getPreferredName().toString()));
+
+ add100Points(u0.getId());
+ assertTrue(u0.isValidNameVerification(u0.getPreferredName().toString()));
+ }
+
}