]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/pages/orga/TestOrgaManagement.java
ADD: Delete affiliations + testcase
[gigi.git] / tests / org / cacert / gigi / pages / orga / TestOrgaManagement.java
1 package org.cacert.gigi.pages.orga;
2
3 import static org.junit.Assert.*;
4
5 import java.io.IOException;
6 import java.net.URLEncoder;
7 import java.util.List;
8
9 import org.cacert.gigi.dbObjects.Group;
10 import org.cacert.gigi.dbObjects.Organisation;
11 import org.cacert.gigi.dbObjects.Organisation.Affiliation;
12 import org.cacert.gigi.dbObjects.User;
13 import org.cacert.gigi.testUtils.ManagedTest;
14 import org.junit.Test;
15
16 public class TestOrgaManagement extends ManagedTest {
17
18     public User u = User.getById(createVerifiedUser("testuser", "testname", uniq + "@testdom.com", TEST_PASSWORD));
19
20     public String session;
21
22     public TestOrgaManagement() throws IOException {
23         u.grantGroup(u, Group.getByString("orgassurer"));
24         clearCaches();
25         session = login(uniq + "@testdom.com", TEST_PASSWORD);
26     }
27
28     @Test
29     public void testAdd() throws IOException {
30         executeBasicWebInteraction(session, CreateOrgPage.DEFAULT_PATH, "O=name&contact=&L=K%C3%B6ln&ST=%C3%9C%C3%96%C3%84%C3%9F&C=DE&comments=jkl%C3%B6loiuzfdfgjlh%C3%B6", 0);
31         Organisation[] orgs = Organisation.getOrganisations(0, 30);
32         assertEquals(1, orgs.length);
33         assertEquals("name", orgs[0].getName());
34         assertEquals("Köln", orgs[0].getCity());
35         assertEquals("ÜÖÄß", orgs[0].getProvince());
36
37         User u2 = User.getById(createVerifiedUser("testworker", "testname", createUniqueName() + "@testdom.com", TEST_PASSWORD));
38         executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "email=" + URLEncoder.encode(u2.getEmail(), "UTF-8") + "&affiliate=y&master=y", 1);
39         List<Affiliation> allAdmins = orgs[0].getAllAdmins();
40         assertEquals(1, allAdmins.size());
41         Affiliation affiliation = allAdmins.get(0);
42         assertSame(u2, affiliation.getTarget());
43         assertTrue(affiliation.isMaster());
44
45         executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "email=" + URLEncoder.encode(u.getEmail(), "UTF-8") + "&affiliate=y", 1);
46         allAdmins = orgs[0].getAllAdmins();
47         assertEquals(2, allAdmins.size());
48         Affiliation affiliation2 = allAdmins.get(0);
49         if (affiliation2.getTarget().getId() == u2.getId()) {
50             affiliation2 = allAdmins.get(1);
51         }
52         assertSame(u.getId(), affiliation2.getTarget().getId());
53         assertFalse(affiliation2.isMaster());
54
55         executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "del=" + URLEncoder.encode(u.getEmail(), "UTF-8") + "&email=&affiliate=y", 1);
56         assertEquals(1, orgs[0].getAllAdmins().size());
57
58         executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "del=" + URLEncoder.encode(u2.getEmail(), "UTF-8") + "&email=&affiliate=y", 1);
59         assertEquals(0, orgs[0].getAllAdmins().size());
60
61         executeBasicWebInteraction(session, ViewOrgPage.DEFAULT_PATH + "/" + orgs[0].getId(), "O=name1&contact=&L=K%C3%B6ln&ST=%C3%9C%C3%96%C3%84%C3%9F&C=DE&comments=jkl%C3%B6loiuzfdfgjlh%C3%B6", 0);
62         clearCaches();
63         orgs = Organisation.getOrganisations(0, 30);
64         assertEquals("name1", orgs[0].getName());
65     }
66 }