function init_jasmine_config() {
var jasmine_config_default = {
+ // tune parameter for batch testing
+ batch_tuning: true,
+
search_query: "freebsd",
max_time: 17,
// in seconds
debug("jasmine config: " + key + " => " + jasmine_config[key]);
}
+ // jenkins batch tests
+ if (jasmine_config.batch_tuning) {
+ var sec = mkws.getParameterByName("second", document.location);
+
+ // run on localhost
+ if (!sec && document.location.href.match(/^http:\/\/localhost:4040/)) {
+ sec = 2000;
+ }
+
+ if (sec && parseInt(sec) >= 100) {
+ jasmine_config.second = parseInt(sec);
+ debug("longer timeouts for batch testing: " + jasmine_config.second);
+ }
+ }
+
mkws.jasmine_done = false;
};
}
});
});
+
+ // avoid race conditions of source facets updates
+ it("wait a little bit for a source facets update", function () {
+ // wait a half second, to show the target view
+ var waittime = 0.5;
+ var time = (new Date).getTime();
+
+ waitsFor(function () {
+ return (new Date).getTime() - time > (waittime * jasmine_config.second) ? true : false;
+ }, "wait some miliseconds", (waittime + 0.5) * jasmine_config.second);
+
+ runs(function () {});
+ });
});
describe("Check Source Facets", function () {
expect($("div.mkws-records").is(":visible")).toBe(false);
// wait a half second, to show the target view
+ var waittime = 0.7;
var time = (new Date).getTime();
waitsFor(function () {
- return (new Date).getTime() - time > 700 ? true : false;
- }, "wait some miliseconds", 1 * jasmine_config.second);
+ return (new Date).getTime() - time > (waittime * jasmine_config.second) ? true : false;
+ }, "wait some miliseconds", (waittime + 0.3) * jasmine_config.second);
// look for table header
runs(function () {
});
});
+// temporary disabled due records without an author, MKWS-400
describe("Check translations", function () {
var $ = mkws.$;
debug("translate check for: " + text);
return text;
};
+
var lang = function () {
return mkws.config.lang
};
expect(list.length).toBe(text.length);
for (var i = 0; i < text.length; i++) {
- expect($(list[i]).text()).toBe(M(text[i]));
+ expect($(list[i]).text().match(M(text[i]))).not.toBeNull();
}
}
+ function check_translation_list(list, keywords) {
+ var errors = [];
+ for (var i = 0; i < keywords.length; i++) {
+ var text = $(list[i]);
+ var keyword = keywords[i];
+
+ if (text.text().match("^" + M(keyword) + "")) {
+ debug("found: " + text.text() + " :: " + keyword);
+ } else {
+ debug("NOT found: " + text.text() + " :: " + keyword);
+ errors.push(keyword)
+ }
+ }
+
+ // we except one missing field, or one error
+ expect(errors.length).not.toBeGreaterThan(1);
+ }
+
it("check language", function () {
var lang = mkws.config.lang;
debug("lang: " + lang);
"Location": "Ort",
"Records": "Datensätze",
"Targets": "Datenbanken",
+ "relevance": "Relevanz",
+ "title": "Titel",
+ "newest": "Neueste",
+ "oldest": "Älteste",
"dummy": "dummy"
},
expect("Sorter efter").toBe(M("Sort by"));
expect("Sorter efter").toBe($(list[0]).text());
}
+
+
+ expect($("select.mkws-sort > option[selected=selected]").text()).toBe(M("relevance"));
});
- xit("facets sidebar", function () {
+ it("facets sidebar", function () {
var list = $(".mkws-facet-title");
var text = ["Sources", "Subjects", "Authors"];
check_translation(list, text);
- expect($(".mkws-next").text()).toBe(M("Next"));
- expect($(".mkws-prev").text()).toBe(M("Prev"));
+ expect($(".mkws-next").text().match(M("Next"))).not.toBeNull();
+ expect($(".mkws-next").text().match(M("NextXXX"))).toBeNull();
+ expect($(".mkws-prev").text().match(M("Prev"))).not.toBeNull();
});
it("record details", function () {
- var text = ["Title", "Date", "Author"]; // , "Subject", "Locations"];
+ var keywords = ["Title", "Date", "Author"]; // , "Subject", "Locations"];
var list = $("div.mkws-details table > tbody > tr > th");
// compare only the first 3 elements
- list = list.splice(0, text.length)
-
- check_translation(list, text);
+ // list = list.splice(0, text.length)
+ check_translation_list(list, keywords);
});
+
+/* not tested
+ *
+ * Status line: -- Active clients : 0/1 -- Retrieved records : 4/4
+ *
+ */
});
describe("Check status client counter", function () {