]> WPIA git - gigi.git/commitdiff
upd: show language and version for trainings
authorINOPIAE <m.maengel@inopiae.de>
Sat, 2 Jul 2016 09:42:53 +0000 (11:42 +0200)
committerFelix Dörre <felix@dogcraft.de>
Sat, 2 Jul 2016 16:01:23 +0000 (18:01 +0200)
Change-Id: Id5cdaa2ec02a6a0020c41bb83723bc4be06d66da

src/org/cacert/gigi/dbObjects/User.java
tests/org/cacert/gigi/pages/account/TestTrainings.java [new file with mode: 0644]
tests/org/cacert/gigi/testUtils/ManagedTest.java
util-testing/org/cacert/gigi/pages/Manager.java

index 567da97b20643b2f897e73ae4d6be815c95f3da8..370790c91f9db8bd641528325e594b19e6949cdc 100644 (file)
@@ -494,14 +494,26 @@ public class User extends CertificateOwner {
     }
 
     public String[] getTrainings() {
-        try (GigiPreparedStatement prep = new GigiPreparedStatement("SELECT `pass_date`, `type_text` FROM `cats_passed` LEFT JOIN `cats_type` ON `cats_type`.`id`=`cats_passed`.`variant_id`  WHERE `user_id`=? ORDER BY `pass_date` ASC")) {
+        try (GigiPreparedStatement prep = new GigiPreparedStatement("SELECT `pass_date`, `type_text`, `language`, `version` FROM `cats_passed` LEFT JOIN `cats_type` ON `cats_type`.`id`=`cats_passed`.`variant_id`  WHERE `user_id`=? ORDER BY `pass_date` ASC")) {
             prep.setInt(1, getId());
             GigiResultSet res = prep.executeQuery();
             List<String> entries = new LinkedList<String>();
 
             while (res.next()) {
-
-                entries.add(DateSelector.getDateFormat().format(res.getTimestamp(1)) + " (" + res.getString(2) + ")");
+                StringBuilder training = new StringBuilder();
+                training.append(DateSelector.getDateFormat().format(res.getTimestamp(1)));
+                training.append(" (");
+                training.append(res.getString(2));
+                if (res.getString(3).length() > 0) {
+                    training.append(" ");
+                    training.append(res.getString(3));
+                }
+                if (res.getString(4).length() > 0) {
+                    training.append(", ");
+                    training.append(res.getString(4));
+                }
+                training.append(")");
+                entries.add(training.toString());
             }
 
             return entries.toArray(new String[0]);
diff --git a/tests/org/cacert/gigi/pages/account/TestTrainings.java b/tests/org/cacert/gigi/pages/account/TestTrainings.java
new file mode 100644 (file)
index 0000000..22bd4a1
--- /dev/null
@@ -0,0 +1,31 @@
+package org.cacert.gigi.pages.account;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.MatcherAssert.*;
+
+import java.io.IOException;
+import java.security.GeneralSecurityException;
+import java.sql.Date;
+
+import org.cacert.gigi.dbObjects.CATS;
+import org.cacert.gigi.testUtils.ClientTest;
+import org.cacert.gigi.testUtils.IOUtils;
+import org.cacert.gigi.util.HTMLEncoder;
+import org.junit.Test;
+
+public class TestTrainings extends ClientTest {
+
+    public TestTrainings() throws GeneralSecurityException, IOException {}
+
+    @Test
+    public void testShow() throws IOException, GeneralSecurityException {
+        CATS.enterResult(u, CATS.ASSURER_CHALLENGE_NAME, new Date(System.currentTimeMillis()), "en_US", "1");
+        CATS.enterResult(u, "Special Case Test", new Date(System.currentTimeMillis()), "spLan", "v23");
+        String res = IOUtils.readURL(get(UserTrainings.PATH));
+        assertThat(res, containsString("Special Case Test"));
+        assertThat(res, containsString(HTMLEncoder.encodeHTML(CATS.ASSURER_CHALLENGE_NAME)));
+        assertThat(res, containsString("en_US, 1"));
+        assertThat(res, containsString("v23"));
+        assertThat(res, containsString("spLan"));
+    }
+}
index 9f22edf1940493f53af1c3900122fc0a5426beeb..6f7dccea01ea15aee09f77a90c8e2373bfaf2a11 100644 (file)
@@ -321,7 +321,7 @@ public class ManagedTest extends ConfiguredTest {
     }
 
     public static void makeAssurer(int uid) {
-        try (GigiPreparedStatement ps1 = new GigiPreparedStatement("INSERT INTO `cats_passed` SET `user_id`=?, `variant_id`=?")) {
+        try (GigiPreparedStatement ps1 = new GigiPreparedStatement("INSERT INTO cats_passed SET user_id=?, variant_id=?, language='en_EN', version=1")) {
             ps1.setInt(1, uid);
             ps1.setInt(2, CATS.ASSURER_CHALLENGE_ID);
             ps1.execute();
index 649b7944ef99cf64f455bd0b03743de10ec65efe..ceadd0389bcf354d48f13a9013d5f01767ab8819 100644 (file)
@@ -117,7 +117,7 @@ public class Manager extends Page {
     }
 
     private void passCATS(User u) {
-        try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO cats_passed SET user_id=?, variant_id=1")) {
+        try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO cats_passed SET user_id=?, variant_id=1, language='en_EN', version=1")) {
             ps.setInt(1, u.getId());
             ps.execute();
         }