You can configure the jasmine test by declaring the variable
var jasmine_config = {
search_query: "freebsd",
max_time: 16, // in seconds
expected_hits: 80, // at least expected hit counter
second: 1000, // miliseconds to seconds
show_record_url: true // check for valid URL in records
};
in the HTML page, similar to mkws_config = { ... }
The most common properties are: search_query, expected_hits and show_record_url
<body>
<script type="text/javascript">
<body>
<script type="text/javascript">
- var mkws_config = { show_lang: true };
+ var mkws_config = { show_lang: true,
+ pazpar2_url: "/service-proxy/",
+ service_proxy_auth: "/service-proxy-auth"
+ };
+
+ var jasmine_config = {
+ search_query: "pankow",
+ max_hits: 40,
+ show_record_url: false
+ };
jQuery.pazpar2({
"layout": "popup", /* "table" [default], "div", "popup" */
jQuery.pazpar2({
"layout": "popup", /* "table" [default], "div", "popup" */
<link rel="stylesheet" type="text/css" href="tools/htdocs/mkws.css" />
<script type="text/javascript">
var mkws_config = {
<link rel="stylesheet" type="text/css" href="tools/htdocs/mkws.css" />
<script type="text/javascript">
var mkws_config = {
- jasmine: { "show_record_url": false },
use_service_proxy: false,
pazpar2_url : "/pazpar2/",
perpage_default: 10
};
use_service_proxy: false,
pazpar2_url : "/pazpar2/",
perpage_default: 10
};
+
+ var jasmine_config = {
+ "show_record_url": false
+ };
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="tools/htdocs/pz2.js"></script>
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="tools/htdocs/pz2.js"></script>
mkws.debug_function(text)
}
mkws.debug_function(text)
}
+
+var jasmine_config = {};
+
+/* check config for jasmine test
+ *
+ * you can override the default values in the config
+ * object: jasmine_config = {};
+ *
+ */
+beforeEach(function () {
+
+ var jasmine_config_default = {
+ search_query: "freebsd",
+ max_time: 16,
+ // in seconds
+ expected_hits: 80,
+ // at least expected hit counter
+ second: 1000,
+ // miliseconds to seconds
+ show_record_url: true,
+ // check for valid URL in records
+ dummy: false
+ };
+
+ // use default values for undefined values
+ for (var key in jasmine_config_default) {
+ if (!jasmine_config.hasOwnProperty(key)) {
+ jasmine_config[key] = jasmine_config_default[key];
+ }
+ }
+});
+
var get_hit_counter = function () {
// not yet here
if ($("#mkwsPager").length == 0) return -1;
var get_hit_counter = function () {
// not yet here
if ($("#mkwsPager").length == 0) return -1;
});
it("run search query", function () {
});
it("run search query", function () {
- var search_query = "freebsd"; // short hit counter with some paging
+ var search_query = jasmine_config.search_query; // short hit counter with some paging
$("input#mkwsQuery").val(search_query);
debug("set search query: " + search_query)
expect($("input#mkwsQuery").val()).toMatch("^" + search_query + "$");
$("input#mkwsQuery").val(search_query);
debug("set search query: " + search_query)
expect($("input#mkwsQuery").val()).toMatch("^" + search_query + "$");
// wait for service proxy auth
waitsFor(function () {
return mkws.authenticated;
// wait for service proxy auth
waitsFor(function () {
return mkws.authenticated;
- }, "SP auth done", 10 * 1000);
+ }, "SP auth done", 10 * jasmine_config.second);
} else {
debug("running raw pp2, don't wait for mkws auth");
}
} else {
debug("running raw pp2, don't wait for mkws auth");
}
debug("next/prev: " + id + " click is success: " + click.length);
expect(click.length).toBe(1);
debug("next/prev: " + id + " click is success: " + click.length);
expect(click.length).toBe(1);
+ }, time * jasmine_config.second);
}
waitsFor(function () {
return $("div#mkwsPager div:nth-child(2) a").length >= 2 ? true : false;
}
waitsFor(function () {
return $("div#mkwsPager div:nth-child(2) a").length >= 2 ? true : false;
- }, "Expect next link 2", 10 * 1000);
+ }, "Expect next link 2", 10 * jasmine_config.second);
runs(function () {
// click next/prev after N seconds
runs(function () {
// click next/prev after N seconds
waitsFor(function () {
return $("div#mkwsPager div:nth-child(2) a").length >= 3 ? true : false;
waitsFor(function () {
return $("div#mkwsPager div:nth-child(2) a").length >= 3 ? true : false;
- }, "Expect next link 3", 5 * 1000);
+ }, "Expect next link 3", 5 * jasmine_config.second);
runs(function () {
// click next/prev after N seconds
runs(function () {
// click next/prev after N seconds
describe("Check pazpar2 hit counter", function () {
it("check running search hit counter", function () {
describe("Check pazpar2 hit counter", function () {
it("check running search hit counter", function () {
- var max_time = 16; // in seconds
- var expected_hits = 80; // at least expected hit counter
+ var max_time = jasmine_config.max_time; // in seconds
+ var expected_hits = jasmine_config.expected_hits; // at least expected hit counter
var hits = 0;
waitsFor(function () {
hits = get_hit_counter();
return hits > expected_hits;
var hits = 0;
waitsFor(function () {
hits = get_hit_counter();
return hits > expected_hits;
- }, "Expect " + expected_hits + " hits", max_time * 1000);
+ }, "Expect " + expected_hits + " hits", max_time * jasmine_config.second);
waitsFor(function () {
return $("div#mkwsFacetSources").length == 1 ? true : false;
waitsFor(function () {
return $("div#mkwsFacetSources").length == 1 ? true : false;
- }, "check for facet sources", 2 * 1000);
+ }, "check for facet sources", 2 * jasmine_config.second);
waitsFor(function () {
return $("div#mkwsFacetAuthors div.term").length >= 2 ? true : false;
waitsFor(function () {
return $("div#mkwsFacetAuthors div.term").length >= 2 ? true : false;
- }, "At least one author link displayed", 2 * 1000);
+ }, "At least one author link displayed", 2 * jasmine_config.second);
runs(function () {
expect($("div#mkwsFacetAuthors div.term").length).toBeGreaterThan(1);
runs(function () {
expect($("div#mkwsFacetAuthors div.term").length).toBeGreaterThan(1);
waitsFor(function () {
return get_hit_counter() < hits_all_targets ? true : false;
waitsFor(function () {
return get_hit_counter() < hits_all_targets ? true : false;
- }, "Limited author search for less than " + hits_all_targets + " hits", 6 * 1000);
+ }, "Limited author search for less than " + hits_all_targets + " hits", 6 * jasmine_config.second);
runs(function () {
var hits_single_target = get_hit_counter();
runs(function () {
var hits_single_target = get_hit_counter();
- }, "Search for source in navi bar", 1000);
+ }, "Search for source in navi bar", jasmine_config.second);
// 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;
// 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 search for less than " + hits_all_targets + " hits", 5 * 1000);
+ }, "Limited source search for less than " + hits_all_targets + " hits", 5 * jasmine_config.second);
runs(function () {
var hits_single_target = get_hit_counter();
runs(function () {
var hits_single_target = get_hit_counter();
waitsFor(function () {
var show = $("div#mkwsRecords div.record:nth-child(" + record_number + ") div");
return show != null && show.length ? true : false;
waitsFor(function () {
var show = $("div#mkwsRecords div.record:nth-child(" + record_number + ") div");
return show != null && show.length ? true : false;
- }, "wait some miliseconds to show up a record", 2 * 1000);
+ }, "wait some miliseconds to show up a record", 2 * jasmine_config.second);
runs(function () {
debug("show record pop up");
runs(function () {
debug("show record pop up");
});
it("extract URL", function () {
});
it("extract URL", function () {
- if (mkws_config.jasmine && mkws_config.jasmine.show_record_url == false) {
+ if (jasmine_config.show_record_url == false) {
debug("ignore test for URL in record")
return;
}
debug("ignore test for URL in record")
return;
}
var time = (new Date).getTime();
waitsFor(function () {
return (new Date).getTime() - time > 700 ? true : false;
var time = (new Date).getTime();
waitsFor(function () {
return (new Date).getTime() - time > 700 ? true : false;
- }, "wait some miliseconds", 1 * 1000);
+ }, "wait some miliseconds", 1 * jasmine_config.second);
// look for table header
runs(function () {
// look for table header
runs(function () {
- }, "wait for Active clients: 0/1", 4 * 1000);
+ }, "wait for Active clients: 0/1", 4 * jasmine_config.second);