]> WPIA git - gigi.git/blob - tests/club/wpia/gigi/TestLanguage.java
add: ensure that for Org Administrator actions certificate login is used
[gigi.git] / tests / club / wpia / gigi / TestLanguage.java
1 package club.wpia.gigi;
2
3 import static org.hamcrest.CoreMatchers.*;
4 import static org.junit.Assert.*;
5
6 import java.io.IOException;
7 import java.util.Locale;
8
9 import org.junit.Assume;
10 import org.junit.Test;
11
12 import club.wpia.gigi.dbObjects.User;
13 import club.wpia.gigi.localisation.Language;
14 import club.wpia.gigi.testUtils.IOUtils;
15 import club.wpia.gigi.testUtils.ManagedTest;
16
17 public class TestLanguage extends ManagedTest {
18
19     @Test
20     public void testSignupNoLanguage() {
21         User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
22         assertEquals(Locale.ENGLISH, u.getPreferredLocale());
23     }
24
25     @Test
26     public void testSignupDE() {
27         setAcceptLanguage("de");
28         User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
29         assertEquals(Locale.GERMAN, u.getPreferredLocale());
30     }
31
32     @Test
33     public void testSignupMulti() {
34         setAcceptLanguage("de,en");
35         User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
36         assertEquals(Locale.GERMAN, u.getPreferredLocale());
37     }
38
39     @Test
40     public void testSignupFallback() {
41         setAcceptLanguage("ma,de");
42         User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
43         assertEquals(Locale.GERMAN, u.getPreferredLocale());
44     }
45
46     @Test
47     public void testSignupProjection() {
48         setAcceptLanguage("de-de,en");
49         User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
50         assertEquals(Locale.GERMAN, u.getPreferredLocale());
51     }
52
53     @Test
54     public void testSelectStandard() throws IOException {
55         String content = IOUtils.readURL(get("cook", "/"));
56         assertThat(content, containsString("Language"));
57     }
58
59     @Test
60     public void testSelectGerman() throws IOException {
61         String content = IOUtils.readURL(get("", "/?lang=de"));
62         assertThat(content, containsString(Language.getInstance(Locale.GERMAN).getTranslation("Language")));
63     }
64
65     @Test
66     public void testLanguageAfterLogin() throws IOException {
67         setAcceptLanguage("de,en");
68         User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
69         String cookie = login(u.getEmail(), TEST_PASSWORD);
70         String content = IOUtils.readURL(get(cookie, "/"));
71         assertThat(content, containsString(Language.getInstance(Locale.GERMAN).getTranslation("Language")));
72     }
73
74     @Test
75     public void testOtherLanguageAfterLogin() throws IOException {
76         Assume.assumeNotNull(Language.getInstance(Locale.FRENCH));
77         setAcceptLanguage("fr,de,en");
78         User u = User.getById(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
79         String cookie = login(u.getEmail(), TEST_PASSWORD);
80         String content = IOUtils.readURL(get(cookie, "/"));
81         assertThat(content, containsString(Language.getInstance(Locale.FRENCH).getTranslation("Language")));
82     }
83 }