enable translation check again, part of MKWS-400
[mkws-moved-to-github.git] / test / spec / mkws-pazpar2.js
index 1717551..12cbfcf 100644 (file)
@@ -351,6 +351,19 @@ describe("Check active clients author", function () {
             }
         });
     });
+
+    // avoid race conditions of source facets updates
+    it("wait a little bit for a source facets update", function () {
+        // wait a half second, to show the target view
+        var waittime = 0.5;
+        var time = (new Date).getTime();
+
+        waitsFor(function () {
+            return (new Date).getTime() - time > (waittime * jasmine_config.second) ? true : false;
+        }, "wait some miliseconds", (waittime + 0.5) * jasmine_config.second);
+
+        runs(function () {});
+    });
 });
 
 describe("Check Source Facets", function () {
@@ -524,10 +537,11 @@ describe("Check switch menu Records/Targets", function () {
         expect($("div.mkws-records").is(":visible")).toBe(false);
 
         // wait a half second, to show the target view
+        var waittime = 0.7;
         var time = (new Date).getTime();
         waitsFor(function () {
-            return (new Date).getTime() - time > 700 ? true : false;
-        }, "wait some miliseconds", 1 * jasmine_config.second);
+            return (new Date).getTime() - time > (waittime * jasmine_config.second) ? true : false;
+        }, "wait some miliseconds", (waittime + 0.3) * jasmine_config.second);
 
         // look for table header
         runs(function () {
@@ -544,6 +558,7 @@ describe("Check switch menu Records/Targets", function () {
     });
 });
 
+// temporary disabled due records without an author, MKWS-400
 describe("Check translations", function () {
     var $ = mkws.$;
 
@@ -553,6 +568,7 @@ describe("Check translations", function () {
             debug("translate check for: " + text);
             return text;
         };
+
     var lang = function () {
             return mkws.config.lang
         };
@@ -561,10 +577,28 @@ describe("Check translations", function () {
         expect(list.length).toBe(text.length);
 
         for (var i = 0; i < text.length; i++) {
-            expect($(list[i]).text()).toBe(M(text[i]));
+            expect($(list[i]).text().match(M(text[i]))).not.toBeNull();
         }
     }
 
+    function check_translation_list(list, keywords) {
+        var errors = [];
+        for (var i = 0; i < keywords.length; i++) {
+            var text = $(list[i]);
+            var keyword = keywords[i];
+
+            if (text.text().match("^" + M(keyword) + "")) {
+                debug("found: " + text.text() + " :: " + keyword);
+            } else {
+                debug("NOT found: " + text.text() + " :: " + keyword);
+                errors.push(keyword)
+            }
+        }
+
+        // we except one missing field, or one error
+        expect(errors.length).not.toBeGreaterThan(1);
+    }
+
     it("check language", function () {
         var lang = mkws.config.lang;
         debug("lang: " + lang);
@@ -659,18 +693,18 @@ describe("Check translations", function () {
 
         check_translation(list, text);
 
-        expect($(".mkws-next").text()).toBe(M("Next"));
-        expect($(".mkws-prev").text()).toBe(M("Prev"));
+        expect($(".mkws-next").text().match(M("Next"))).not.toBeNull();
+        expect($(".mkws-next").text().match(M("NextXXX"))).toBeNull();
+        expect($(".mkws-prev").text().match(M("Prev"))).not.toBeNull();
     });
 
     it("record details", function () {
-        var text = ["Title", "Date", "Author"]; // , "Subject", "Locations"];
+        var keywords = ["Title", "Date", "Author"]; // , "Subject", "Locations"];
         var list = $("div.mkws-details table > tbody > tr > th");
 
         // compare only the first 3 elements
-        list = list.splice(0, text.length)
-
-        check_translation(list, text);
+        // list = list.splice(0, text.length)
+        check_translation_list(list, keywords);
     });
 
 /* not tested