check termlist, and for the sub-component: sources, subjects and authors
[mkws-moved-to-github.git] / test / spec / mkws-pazpar2.js
index 232e34c..46dd488 100644 (file)
@@ -36,16 +36,19 @@ describe("Check pazpar2 navigation", function () {
         function my_click(id, time) {
             setTimeout(function () {
                 debug("trigger click on id: " + id);
-                $(id).trigger("click");
-                expect(time >= 0).toBeTruthy();
+                var click = $(id).trigger("click");
+
+                debug("next click is success: " + click.length);
+                expect(click.length == 1).toBe(true);
+
             }, time * 1000);
         }
 
         runs(function () {
             // click next/prev after N seconds
             my_click("#mkwsNext", 7);
-            my_click("#mkwsNext", 10);
-            my_click("#mkwsPrev", 12);
+            my_click("#mkwsNext", 8);
+            my_click("#mkwsPrev", 9);
         });
     });
 });
@@ -53,59 +56,94 @@ describe("Check pazpar2 navigation", function () {
 
 describe("Check pazpar2 hit counter", function () {
     it("check running search hit counter", function () {
-        var max_time = 13;
+        var max_time = 10; // in seconds
+        var expected_hits = 116; //
         var j_time = 0;
         var j_hits = 0;
 
         function found(time, none) {
-            describe("found hits", function () {
-                setTimeout(function () {
-                    j_time = time;
-
-                    var found = $("#mkwsPager").text();
-                    var re = /found: ([0-9]+)/;
-                    re.exec(found);
-                    var hits = -1;
-
-                    if (RegExp.$1) {
-                        hits = RegExp.$1;
-                        expect(hits).toBeGreaterThan(0);
-                    }
-
-                    // debug("found: " + found);
-                    if (none) {
-                        expect(hits < 0).toBeTruthy();
-                    } else {
-                        j_hits = hits;
-                    }
-
-                    debug("mkws pager found records: '" + hits + "'");
-                    debug("time state: " + j_time);
-
-                    expect(time >= 0).toBeTruthy();
-                }, time * 1000);
-            });
+            setTimeout(function () {
+                j_time = time;
+
+                var found = $("#mkwsPager").text();
+                var re = /found: ([0-9]+)/;
+                re.exec(found);
+                var hits = -1;
+
+                if (RegExp.$1) {
+                    hits = RegExp.$1;
+                    expect(hits).toBeGreaterThan(0);
+                }
+
+                // debug("found: " + found);
+                if (none) {
+                    expect(hits < 0).toBeTruthy();
+                } else {
+                    j_hits = hits;
+                }
+
+                debug("mkws pager found records: '" + hits + "'");
+                debug("time state: " + j_time);
+
+                expect(time >= 0).toBeTruthy();
+            }, time * 1000);
         }
 
         runs(function () {
             // check hit counter after N seconds
             found(0, true);
-            found(5);
-            found(10);
-            found(15);
+            found(3);
+            found(6);
+            found(8);
             found(max_time);
         });
 
         waitsFor(function () {
             return j_time == max_time ? true : false;
-        }, "The Value should be 20 seconds", 30 * 1000); // (max_time + 1) * 1000);
+        }, "The Value should be 20 seconds", max_time * 1000);
+
+
         runs(function () {
             expect($("#mkwsPager").length == 1).toBe(true);
         })
 
         runs(function () {
             expect(j_time <= max_time).toBeTruthy();
-            expect(j_hits > 0).toBeTruthy();
+            expect(j_hits).toBeGreaterThan(expected_hits);
         });
     });
+
+    it("Show record", function () {
+        var click = $("div#mkwsRecords div.record:nth-child(3) :nth-child(2)").trigger("click");
+        debug("show click is success: " + click.length);
+        expect(click.length == 1).toBe(true);
+    });
+
+    it("found Termlist", function () {
+        var termlist = $("div#mkwsTermlists");
+        debug("Termlist success: " + termlist.length);
+        expect(termlist.length == 1).toBe(true);
+
+        var sources = $("div#mkwsFacetSources");
+        expect(sources.length == 1).toBe(true);
+
+        var subjects = $("div#mkwsFacetSubjects");
+        expect(subjects.length == 1).toBe(true);
+
+        var authors = $("div#mkwsFacetAuthors");
+        expect(authors.length == 1).toBe(true);
+    });
+
+    it("Limit search to first source", function () {
+        var click = $("div#mkwsFacetSources div.term:nth-child(2) a").trigger("click");
+        debug("limit source click is success: " + click.length);
+        expect(click.length == 1).toBe(true);
+    });
+
+/*
+    it("Final success message in search input field", function () {
+        $("input#mkwsQuery").val("jasmine test is done");
+        expect($("input#mkwsQuery").val()).toMatch(/done/);
+    });
+    */
 });