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);
});
});
});
describe("Check pazpar2 hit counter", function () {
+ function get_hit_counter() {
+ if ($("#mkwsPager").length == 0) return -1;
+
+ var found = $("#mkwsPager").text();
+ var re = /found: ([0-9]+)/;
+ re.exec(found);
+ var hits = -1;
+
+ if (RegExp.$1) {
+ hits = parseInt(RegExp.$1);
+ expect(hits).toBeGreaterThan(0);
+ }
+
+ debug("Hits: " + hits);
+ return hits;
+ }
+
+ function show_record() {
+ 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("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;
- }
-
- // debug("found: " + found);
- if (none) {
- expect(hits < 0).toBeTruthy();
- } else {
- expect(hits).toBeGreaterThan(0);
- 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;
+ hits = get_hit_counter();
+
+ // 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);
});
});
+
+ // show_record();
+ 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 hits_all_targets = get_hit_counter();
+
+ 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);
+
+ waitsFor(function () {
+ if ($("div#mkwsNavi").length && $("div#mkwsNavi").text().match(/^Source/)) {
+ return true;
+ } else {
+ return false;
+ }
+ }, "Search for source in navi bar", 1000);
+
+ waitsFor(function () {
+ return get_hit_counter() < hits_all_targets ? true : false;
+ }, "Search for with less hits", 9 * 1000);
+
+ runs(function () {
+ var hits_single_target = get_hit_counter();
+ debug("get less hits for sources: " + hits_all_targets + " > " + hits_single_target);
+ expect(hits_all_targets).toBeGreaterThan(hits_single_target);
+ });
+ });
+
+ it("Show record", function () {
+ function get_time() {
+ var date = new Date();
+ return date.getTime();
+ }
+ var time = get_time();
+
+ waitsFor(function () {
+ return get_time() > time ? true : false;
+ }, "wait a second", 1 * 1000);
+
+ runs(function () {
+ show_record();
+ });
+ });
+
+
+ it("Limit search to first author", function () {
+ var hits_all_targets = get_hit_counter();
+
+ var click = $("div#mkwsFacetAuthors div.term:nth-child(2) a").trigger("click");
+ debug("limit author click is success: " + click.length);
+ expect(click.length == 1).toBe(true);
+
+ waitsFor(function () {
+ return get_hit_counter() < hits_all_targets ? true : false;
+ }, "Search for with less hits", 9 * 1000);
+
+ runs(function () {
+ var hits_single_target = get_hit_counter();
+ debug("get less hits for authors: " + hits_all_targets + " > " + hits_single_target);
+ expect(hits_all_targets).toBeGreaterThan(hits_single_target);
+ });
+ });
+
+ it("Show record", function () {
+ show_record();
+ });
});