correct error messages for author facets
[mkws-moved-to-github.git] / test / spec / mkws-pazpar2.js
index 4ce2127..211b61c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014 IndexData ApS. http://indexdata.com
+/* Copyright (c) 2013-2014 Index Data ApS. http://indexdata.com
  *
  * perform papzpar2 / pz2.js search & retrieve request in the browser
  *
@@ -56,28 +56,30 @@ function init_jasmine_config() {
     }
 
     mkws.jasmine_done = false;
-}
-
-var get_hit_counter = function () {
-        // not yet here
-        if ($(".mkwsPager").length == 0) return -1;
-
-        var found = $(".mkwsPager").text();
-        var re = /\([A-Za-z]+:\s+([0-9]+)\)/;
-        re.exec(found);
-        var hits = -1;
+};
 
-        if (RegExp.$1) {
-            hits = parseInt(RegExp.$1);
-            if (hits <= 0) {
-                debug("Oooops in get_hit_counter: " + RegExp.$1 + " '" + found + "'");
-            }
+function get_hit_counter() {
+    var $ = mkws.$;
+    // not yet here
+    if ($(".mkwsPager").length == 0) return -1;
+
+    var found = $(".mkwsPager").text();
+    var re = /\([A-Za-z]+:\s+([0-9]+)\)/;
+    re.exec(found);
+    var hits = -1;
+
+    if (RegExp.$1) {
+        hits = parseInt(RegExp.$1);
+        if (hits <= 0) {
+            debug("Oooops in get_hit_counter: " + RegExp.$1 + " '" + found + "'");
         }
-
-        //debug("Hits: " + hits);
-        return hits;
     }
 
+    //debug("Hits: " + hits);
+    return hits;
+};
+
+/******************************************************************************/
 describe("Init jasmine config", function () {
     it("jasmine was successfully initialized", function () {
         init_jasmine_config();
@@ -91,6 +93,8 @@ describe("Init jasmine config", function () {
 
 //disabled
 xdescribe("Check MOTD before search", function () {
+    var $ = mkws.$;
+
     // Check that the MOTD has been moved into its container, and
     // is visible before the search.
     // the mkwsMOTD div was originally inside a testMOTD div, which should
@@ -250,7 +254,7 @@ describe("Check Termlist", function () {
 
         waitsFor(function () {
             return $("div.mkwsFacet[data-mkws-facet='author'] div.mkwsTerm").length >= 2 ? true : false;
-        }, "At least one author link displayed", 4 * jasmine_config.second);
+        }, "At least two author link displayed", 4 * jasmine_config.second);
 
         runs(function () {
             expect($("div.mkwsFacet[data-mkws-facet='author'] div.mkwsTerm").length).toBeGreaterThan(1);
@@ -672,7 +676,7 @@ describe("Check SortBy options", function () {
             var list = [];
             var terms = $("div.mkwsRecords > div.mkwsSummary > a");
             for (var i = 0; i < terms.length; i++) {
-                var term = $(terms[i]).text();
+                var term = $(terms[i]).text().trim();
                 list.push(term);
                 // debug(prefix + "title: " + term);
             }
@@ -696,14 +700,14 @@ describe("Check SortBy options", function () {
 
         waitsFor(function () {
             //debug("wait for2: " + waitcount);
-            return waitcount >= per_page_number ? true : false;
+            return waitcount >= (per_page_number + 10) ? true : false;
         }, "DOM change mkwsRecords, by sort page", 3 * jasmine_config.second);
 
         runs(function () {
             $("div.mkwsRecords").unbind("DOMNodeInserted DOMNodeRemoved propertychange");
             debug("unbind by sort");
 
-            var records = $("div.mkwsRecords > div.mkwsSummary a");
+            var records = $("div.mkwsRecords > div.mkwsSummary > a");
             debug("Sort by got now " + records.length + " records");
             expect(records.length).toBe(per_page_number);
         });
@@ -712,7 +716,7 @@ describe("Check SortBy options", function () {
             var title_list_new = title_list("yyy ");
             var diff_flag = 0;
             for (var i = 0; i < title_list_old.length; i++) {
-                debug(title_list_old[i] + " :: " + title_list_new[i]);
+                debug((i+1) + ". " + title_list_old[i] + " :: " + title_list_new[i]);
 
                 if (title_list_old[i] != title_list_new[i]) {
                     diff_flag++;
@@ -724,6 +728,24 @@ describe("Check SortBy options", function () {
     });
 });
 
+describe("Check async widget discovery", function () {
+  var $ = mkws.$;
+  it("initialises a new widget", function() {
+    $("div.mkwsSearch").after('<div id="asyncSearch"><div class="mkwsSearch mkwsTeam_async"></div></div>');
+    mkws.init("Another search box", "#asyncSearch");
+    waitsFor(function () {
+      return $("#asyncSearch input").length >= 1 ? true : false;
+    }, "Call init() to build an .mkwsSearch", 750);
+    runs(function () {
+      var numInput = $("div.mkwsSearch input").length;
+      debug("Input elements present: " + numInput);
+      expect(numInput).toBe(4);
+      var numRec = $("div.mkwsRecords > div.mkwsSummary > a").length;
+      debug("Records should still be present. There are: " + numRec);
+      expect(numRec).toBeGreaterThan(0);
+    });
+  });
+});
 
 /* done */
 describe("All tests are done", function () {