X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fspec%2Fmkws-pazpar2.js;h=0571fc3493644c9c612a6e4b795165e4c84ae31b;hb=70d7a8f39e2cebf24eaa40349626284adf8e980f;hp=b14d2175d758e69c8d6fcf2cce9162b2c2a3f0e0;hpb=cc91110c6456559b62cd809507f069b1d9261b5c;p=mkws-moved-to-github.git diff --git a/test/spec/mkws-pazpar2.js b/test/spec/mkws-pazpar2.js index b14d217..0571fc3 100644 --- a/test/spec/mkws-pazpar2.js +++ b/test/spec/mkws-pazpar2.js @@ -4,27 +4,28 @@ * */ -var debug_level = mkws.debug_level; -var debug = mkws.debug_function; +// get references from mkws.js, lazy evaluation +var debug = function (text) { + mkws.debug_function(text) + } 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); - expect(hits).toBeGreaterThan(0); - } + // 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); + expect(hits).toBeGreaterThan(0); + } - //debug("Hits: " + hits); - return hits; -} + //debug("Hits: " + hits); + return hits; + } describe("Check pazpar2 search", function () { it("pazpar2 was successfully initialize", function () { @@ -45,10 +46,14 @@ describe("Check pazpar2 search", function () { debug("set search query: " + search_query) expect($("input#mkwsQuery").val()).toMatch("^" + search_query + "$"); - // wait for service proxy auth - waitsFor(function () { - return mkws.authenticated; - }, "SP auth done", 10 * 1000); + if (mkws_config.use_service_proxy) { + // wait for service proxy auth + waitsFor(function () { + return mkws.authenticated; + }, "SP auth done", 10 * 1000); + } else { + debug("running raw pp2, don't wait for mkws auth"); + } runs(function () { debug("Click on submit button"); @@ -156,14 +161,21 @@ describe("Check Termlist", function () { it("limit search to first author", function () { var hits_all_targets = get_hit_counter(); + var author_number = 2; // 2=first author - var click = $("div#mkwsFacetAuthors div.term:nth-child(2) a").trigger("click"); + var author_name = $("div#mkwsFacetAuthors div.term:nth-child(" + author_number + ") a").text(); + // do not click on author with numbers, e.g.: Bower, James M. Beeman, David, 1938- + if (author_name.match(/[0-9].+[0-9]/)) { + author_number++; + } + + var click = $("div#mkwsFacetAuthors div.term:nth-child(" + author_number + ") a").trigger("click"); debug("limit author click is success: " + click.length); expect(click.length).toBe(1); waitsFor(function () { return get_hit_counter() < hits_all_targets ? true : false; - }, "Limited author search for less than " + hits_all_targets + " hits", 8 * 1000); + }, "Limited author search for less than " + hits_all_targets + " hits", 6 * 1000); runs(function () { var hits_single_target = get_hit_counter(); @@ -193,14 +205,16 @@ describe("Check Termlist", function () { } }, "Search for source in navi bar", 1000); + // Note: it may happens that limited source search returns the same number of hits + // as before. Thats not really an error, but unfortunate waitsFor(function () { - return get_hit_counter() < hits_all_targets ? true : false; - }, "Limited source earch for less than " + hits_all_targets + " hits", 9 * 1000); + return get_hit_counter() <= hits_all_targets ? true : false; + }, "Limited source search for less than " + hits_all_targets + " hits", 5 * 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); + expect(hits_all_targets).not.toBeLessThan(hits_single_target); }); }); }); @@ -225,6 +239,11 @@ describe("Show record", function () { }); it("extract URL", function () { + if (mkws_config.jasmine && mkws_config.jasmine.show_record_url == false) { + debug("ignore test for URL in record") + return; + } + var url = $("div#mkwsRecords div.record:nth-child(" + record_number + ") div table tbody tr td a").text(); debug("extracted URL from record: " + url); @@ -291,7 +310,7 @@ describe("Check status client counter", function () { }, "wait for Active clients: 0/1", 4 * 1000); - /* +/* runs(function () { var clients = $("div#mkwsStat span.clients"); debug("span.clients: " + clients.text());