]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/pages/account/TestMyDetailsEdit.java
add: Allow multiple names, name-schemes, multi-name-assurance, etc.
[gigi.git] / tests / org / cacert / gigi / pages / account / TestMyDetailsEdit.java
index 458d982bd0d306b4b70f1b9d317230a51848a022..6917a1418b2d9d94a1d7adace4f3c5c4ba9fdf8d 100644 (file)
@@ -4,129 +4,77 @@ import static org.junit.Assert.*;
 
 import java.io.IOException;
 import java.sql.Date;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.TimeZone;
 
-import org.cacert.gigi.User;
+import org.cacert.gigi.GigiApiException;
+import org.cacert.gigi.dbObjects.Name;
+import org.cacert.gigi.dbObjects.NamePart;
+import org.cacert.gigi.dbObjects.NamePart.NamePartType;
+import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.testUtils.ManagedTest;
+import org.hamcrest.CoreMatchers;
 import org.junit.Test;
 
 public class TestMyDetailsEdit extends ManagedTest {
 
-    @Test
-    public void testChangeFnameValid() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        String newName = createUniqueName();
-        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "fname=" + newName + "&lname=Hansel&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0));
-        User u = User.getById(id);
-        assertEquals(newName, u.getFname());
-    }
+    String email = createUniqueName() + "@e.de";
 
-    @Test
-    public void testChangeLnameValid() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        String newName = createUniqueName();
-        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "lname=" + newName + "&fname=Kurti&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0));
-        User u = User.getById(id);
-        assertEquals(newName, u.getLname());
-    }
+    int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
 
-    @Test
-    public void testChangeMnameValid() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        String newName = createUniqueName();
-        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "mname=" + newName + "&fname=Kurti&lname=Hansel&suffix=&day=1&month=1&year=2000&processDetails", 0));
-        User u = User.getById(id);
-        assertEquals(newName, u.getMname());
-    }
+    String cookie = login(email, TEST_PASSWORD);
 
-    @Test
-    public void testChangeSuffixValid() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        String newName = createUniqueName();
-        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "mname=&fname=Kurti&lname=Hansel&suffix=" + newName + "&day=1&month=1&year=2000&processDetails", 0));
-        User u = User.getById(id);
-        assertEquals(newName, u.getSuffix());
-    }
+    public TestMyDetailsEdit() throws IOException {}
 
     @Test
-    public void testUnsetSuffix() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
+    public void testAddName() throws IOException {
+        int startn = User.getById(id).getNames().length;
         String newName = createUniqueName();
-        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "mname=&fname=Kurti&lname=Hansel&suffix=" + newName + "&day=1&month=1&year=2000&processDetails", 0));
-        User u = User.getById(id);
-        assertEquals(newName, u.getSuffix());
-        assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "mname=&fname=Kurti&lname=Hansel&suffix=&day=1&month=1&year=2000&processDetails", 0));
-        u = User.getById(id);
-        assertEquals(newName, u.getSuffix());
-    }
-
-    @Test
-    public void testUnsetFname() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "fname=&lname=Hansel&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0));
+        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "fname=" + newName + "&lname=Hansel&action=addName", 0));
         User u = User.getById(id);
-        assertEquals("Kurti", u.getFname());
 
+        NamePart[] parts = u.getNames()[startn].getParts();
+        assertThat(Arrays.asList(parts), CoreMatchers.hasItem(new NamePart(NamePartType.FIRST_NAME, newName)));
+        assertThat(Arrays.asList(parts), CoreMatchers.hasItem(new NamePart(NamePartType.LAST_NAME, "Hansel")));
+        assertEquals(2, parts.length);
+        assertEquals(startn + 1, User.getById(id).getNames().length);
     }
 
     @Test
-    public void testUnsetLname() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "lname=&fname=Kurti&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0));
-        User u = User.getById(id);
-        assertEquals("Hansel", u.getLname());
+    public void testDelName() throws IOException, GigiApiException {
+        User user = User.getById(id);
+        int startn = user.getNames().length;
+        String newName = createUniqueName();
+        Name n1 = new Name(user, new NamePart(NamePartType.SINGLE_NAME, newName));
+
+        assertEquals(startn + 1, user.getNames().length);
+        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "removeName=" + n1.getId(), 0));
+        assertEquals(startn, user.getNames().length);
     }
 
     @Test
-    public void testUnsetMname() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        String newName = createUniqueName();
-        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "mname=" + newName + "&fname=Kurti&lname=Hansel&suffix=&day=1&month=1&year=2000&processDetails", 0));
-        User u = User.getById(id);
-        assertEquals(newName, u.getMname());
-        assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "lname=Hansel&fname=Kurti&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0));
-        u = User.getById(id);
-        assertEquals(newName, u.getMname());
-
+    public void testDelDefaultName() throws IOException {
+        User user = User.getById(id);
+        assertEquals(1, user.getNames().length);
+        assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "removeName=" + user.getNames()[0].getId(), 0));
+        assertEquals(1, user.getNames().length);
     }
 
     @Test
     public void testChangeDOBValid() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        int id = createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "lname=Hansel&fname=Kurti&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0));
+        assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "day=1&month=2&year=2000&action=updateDoB", 0));
         User u = User.getById(id);
         Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
         cal.set(Calendar.YEAR, 2000);
-        cal.set(Calendar.DAY_OF_MONTH, 1);
+        cal.set(Calendar.DAY_OF_MONTH, Calendar.FEBRUARY);
         cal.set(Calendar.MONTH, 1);
         Date d = new Date(cal.getTimeInMillis());
-        assertEquals(d.toString(), u.getDob().toString());
+        assertEquals(d.toString(), u.getDoB().toSQLDate().toString());
     }
 
     @Test
     public void testChangeDOBInvalid() throws IOException {
-        String email = createUniqueName() + "@e.de";
-        createVerifiedUser("Kurti", "Hansel", email, TEST_PASSWORD);
-        String cookie = login(email, TEST_PASSWORD);
-        assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "lname=Hansel&fname=Kurti&mname=&suffix=&day=1&month=1&year=test&processDetails", 0));
+        assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "day=1&month=1&year=test&action=updateDoB", 0));
     }
 }