X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FTestMyDetailsEdit.java;h=d9f8e3d824dba320ae3a9041d4a8fa87219285ec;hb=b59c37e88149d0463ab4b802cacb6f0ea883acfb;hp=e6361eb635fd99718d567d4a2d7ad20f24f321ca;hpb=aa5723dbb64ec8efa63909d39ff72364f0a5ee96;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/account/TestMyDetailsEdit.java b/tests/org/cacert/gigi/pages/account/TestMyDetailsEdit.java index e6361eb6..d9f8e3d8 100644 --- a/tests/org/cacert/gigi/pages/account/TestMyDetailsEdit.java +++ b/tests/org/cacert/gigi/pages/account/TestMyDetailsEdit.java @@ -4,11 +4,18 @@ import static org.junit.Assert.*; import java.io.IOException; import java.sql.Date; +import java.util.Arrays; import java.util.Calendar; +import java.util.GregorianCalendar; import java.util.TimeZone; +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 { @@ -22,81 +29,42 @@ public class TestMyDetailsEdit extends ManagedTest { public TestMyDetailsEdit() throws IOException {} @Test - public void testChangeFnameValid() throws IOException { + public void testAddName() throws IOException { + int startn = User.getById(id).getNames().length; String newName = createUniqueName(); - assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "fname=" + newName + "&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(newName, u.getName().getFname()); - } - - @Test - public void testChangeLnameValid() throws IOException { - 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.getName().getLname()); - } - - @Test - public void testChangeMnameValid() throws IOException { - 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.getName().getMname()); - } - @Test - public void testChangeSuffixValid() throws IOException { - 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.getName().getSuffix()); + 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 testUnsetSuffix() throws IOException { + public void testDelName() throws IOException, GigiApiException { + User user = User.getById(id); + int startn = user.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)); - clearCaches(); - User u = User.getById(id); - assertEquals(newName, u.getName().getSuffix()); - assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "mname=&fname=Kurti&lname=Hansel&suffix=&day=1&month=1&year=2000&processDetails", 0)); - clearCaches(); - u = User.getById(id); - assertEquals("", u.getName().getSuffix()); - } + Name n1 = new Name(user, new NamePart(NamePartType.SINGLE_NAME, newName)); - @Test - public void testUnsetFname() throws IOException { - assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "fname=&lname=Hansel&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0)); - User u = User.getById(id); - assertEquals("", u.getName().getFname()); - - } - - @Test - public void testUnsetLname() throws IOException { - 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.getName().getLname()); + 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 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.getName().getMname()); - assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "lname=Hansel&fname=Kurti&mname=&suffix=&day=1&month=1&year=2000&processDetails", 0)); - clearCaches(); - u = User.getById(id); - assertEquals("", u.getName().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 { - assertNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "lname=Hansel&fname=Kurti&mname=&suffix=&day=1&month=2&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); @@ -108,6 +76,22 @@ public class TestMyDetailsEdit extends ManagedTest { @Test public void testChangeDOBInvalid() throws IOException { - 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)); + } + + @Test + public void testChangeTooYoung() throws IOException { + Calendar c = GregorianCalendar.getInstance(); + c.add(Calendar.YEAR, -User.MINIMUM_AGE); + c.add(Calendar.DAY_OF_MONTH, +1); + assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "day=" + c.get(Calendar.DAY_OF_MONTH) + "&month=" + (c.get(Calendar.MONTH) + 1) + "&year=" + c.get(Calendar.YEAR) + "&action=updateDoB", 0)); + } + + @Test + public void testChangeTooOld() throws IOException { + Calendar c = GregorianCalendar.getInstance(); + c.add(Calendar.YEAR, -User.MAXIMUM_PLAUSIBLE_AGE); + c.add(Calendar.DAY_OF_MONTH, -1); + assertNotNull(executeBasicWebInteraction(cookie, MyDetails.PATH, "day=" + c.get(Calendar.DAY_OF_MONTH) + "&month=" + (c.get(Calendar.MONTH) + 1) + "&year=" + c.get(Calendar.YEAR) + "&action=updateDoB", 0)); } }