Skip to content
Snippets Groups Projects
Verified Commit 2e4e6f60 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

STY: js-beautified tests in form_elements.js.js

parent c01b4719
No related branches found
No related tags found
1 merge request!37prepare release v0.3.1
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
'use strict'; 'use strict';
QUnit.module("form_elements.js", { QUnit.module("form_elements.js", {
before: function(assert) { before: function (assert) {
markdown.init(); markdown.init();
var entities = [ var entities = [
$('<div><div class="caosdb-id" data-entity-name="name12">id12</div></div>')[0], $('<div><div class="caosdb-id" data-entity-name="name12">id12</div></div>')[0],
...@@ -32,27 +32,27 @@ QUnit.module("form_elements.js", { ...@@ -32,27 +32,27 @@ QUnit.module("form_elements.js", {
$('<div><div class="caosdb-id" data-entity-name="name15">id15</div></div>')[0], $('<div><div class="caosdb-id" data-entity-name="name15">id15</div></div>')[0],
]; ];
form_elements._query = async function(query) { form_elements._query = async function (query) {
return entities; return entities;
}; };
this.get_example_1 = async function() { this.get_example_1 = async function () {
return $(await $.ajax("html/form_elements_example_1.html"))[0]; return $(await $.ajax("html/form_elements_example_1.html"))[0];
}; };
}, },
after: function(assert) { after: function (assert) {
form_elements._init_functions(); form_elements._init_functions();
} }
}); });
QUnit.test("availability", function(assert) { QUnit.test("availability", function (assert) {
assert.equal(form_elements.version, "0.1", "test version"); assert.equal(form_elements.version, "0.1", "test version");
assert.ok(form_elements.init, "init available"); assert.ok(form_elements.init, "init available");
assert.ok(form_elements.version, "version available"); assert.ok(form_elements.version, "version available");
}); });
QUnit.test("make_reference_option", function(assert) { QUnit.test("make_reference_option", function (assert) {
assert.equal(typeof form_elements.make_reference_option, "function", "function available"); assert.equal(typeof form_elements.make_reference_option, "function", "function available");
assert.throws(()=>form_elements.make_reference_option(), /is expected to be a string/, "noargs throws"); assert.throws(() => form_elements.make_reference_option(), /is expected to be a string/, "noargs throws");
var option = form_elements.make_reference_option("id15"); var option = form_elements.make_reference_option("id15");
assert.equal($(option).val(), "id15", "value"); assert.equal($(option).val(), "id15", "value");
assert.equal($(option).text(), "id15", "text"); assert.equal($(option).text(), "id15", "text");
...@@ -62,12 +62,17 @@ QUnit.test("make_reference_option", function(assert) { ...@@ -62,12 +62,17 @@ QUnit.test("make_reference_option", function(assert) {
}); });
QUnit.test("make_reference_select", async function(assert) { QUnit.test("make_reference_select", async function (assert) {
assert.equal(typeof form_elements.make_reference_select, "function", "function available"); assert.equal(typeof form_elements.make_reference_select, "function", "function available");
var select = await form_elements.make_reference_select([ var select = await form_elements.make_reference_select([{
{dataset: {entityId : "id17"}}, dataset: {
{dataset: {entityId : "id18"}}, entityId: "id17"
]); }
}, {
dataset: {
entityId: "id18"
}
}, ]);
assert.ok($(select).hasClass("selectpicker"), "selectpicker class from bootstrap-select"); assert.ok($(select).hasClass("selectpicker"), "selectpicker class from bootstrap-select");
assert.notOk($(select).val(), "unselected"); assert.notOk($(select).val(), "unselected");
$(select).val(["id18"]); $(select).val(["id18"]);
...@@ -84,7 +89,7 @@ QUnit.test("make_reference_select", async function(assert) { ...@@ -84,7 +89,7 @@ QUnit.test("make_reference_select", async function(assert) {
}); });
QUnit.test("make_script_form", async function(assert) { QUnit.test("make_script_form", async function (assert) {
assert.equal(typeof form_elements.make_script_form, "function", "function available"); assert.equal(typeof form_elements.make_script_form, "function", "function available");
// TODO // TODO
...@@ -94,17 +99,31 @@ QUnit.test("make_script_form", async function(assert) { ...@@ -94,17 +99,31 @@ QUnit.test("make_script_form", async function(assert) {
var done = assert.async(3); var done = assert.async(3);
var config = { var config = {
groups: [ groups: [{
{ name: "group1", fields: ["date"], enabled: false }, name: "group1",
], fields: ["date"],
fields: [ enabled: false
{type: "date", name: "baldate"}, }, ],
{type: "select", name: "Sex", label: "Sex", value: "female", required: true, options: [ fields: [{
{ value: "female", label: "female" }, type: "date",
{ value: "diverse", label: "diverse" }, name: "baldate"
{ value: "male", label: "male" } }, {
]} type: "select",
], name: "Sex",
label: "Sex",
value: "female",
required: true,
options: [{
value: "female",
label: "female"
}, {
value: "diverse",
label: "diverse"
}, {
value: "male",
label: "male"
}]
}],
}; };
var script_form = await form_elements.make_script_form(config, "test_script"); var script_form = await form_elements.make_script_form(config, "test_script");
...@@ -122,21 +141,25 @@ QUnit.test("make_script_form", async function(assert) { ...@@ -122,21 +141,25 @@ QUnit.test("make_script_form", async function(assert) {
assert.equal(field.find("input[type='date']").length, 1, "has date input"); assert.equal(field.find("input[type='date']").length, 1, "has date input");
assert.equal(field.find("select").length, 1, "has select input"); assert.equal(field.find("select").length, 1, "has select input");
script_form.addEventListener("caosdb.form.cancel", function(e) { script_form.addEventListener("caosdb.form.cancel", function (e) {
done(); done();
}, true); }, true);
cancel_button.click(); cancel_button.click();
script_form.addEventListener("caosdb.form.error", function(e) { script_form.addEventListener("caosdb.form.error", function (e) {
assert.equal($(script_form).find(".caosdb-f-form-elements-message-error").length, 2, "error message there (call and stderr)"); assert.equal($(script_form).find(".caosdb-f-form-elements-message-error").length, 2, "error message there (call and stderr)");
done(); done();
script_form.remove(); script_form.remove();
}); });
form_elements._run_script = async function(script, params) { form_elements._run_script = async function (script, params) {
done(); done();
return {code: "1", stderr: "Autsch!", call: "none"}; return {
code: "1",
stderr: "Autsch!",
call: "none"
};
}; };
assert.equal($(script_form).find(".caosdb-f-form-error-message").length, 0, "no error message"); assert.equal($(script_form).find(".caosdb-f-form-error-message").length, 0, "no error message");
...@@ -148,7 +171,7 @@ QUnit.test("make_script_form", async function(assert) { ...@@ -148,7 +171,7 @@ QUnit.test("make_script_form", async function(assert) {
}); });
QUnit.test("make_date_input", function(assert) { QUnit.test("make_date_input", function (assert) {
assert.equal(typeof form_elements.make_date_input, "function", "function available"); assert.equal(typeof form_elements.make_date_input, "function", "function available");
var config = { var config = {
...@@ -168,7 +191,7 @@ QUnit.test("make_date_input", function(assert) { ...@@ -168,7 +191,7 @@ QUnit.test("make_date_input", function(assert) {
}); });
QUnit.test("make_range_input", async function(assert) { QUnit.test("make_range_input", async function (assert) {
assert.equal(typeof form_elements.make_range_input, "function", "function available"); assert.equal(typeof form_elements.make_range_input, "function", "function available");
var config = { var config = {
...@@ -196,20 +219,27 @@ QUnit.test("make_range_input", async function(assert) { ...@@ -196,20 +219,27 @@ QUnit.test("make_range_input", async function(assert) {
}); });
QUnit.test("make_form_field", async function(assert) { QUnit.test("make_form_field", async function (assert) {
assert.equal(typeof form_elements.make_form_field, "function", "function available"); assert.equal(typeof form_elements.make_form_field, "function", "function available");
var cached = false; var cached = false;
for ( var t of ["date", "range", "reference_drop_down", "subform", "checkbox", "double", "integer"] ) { for (var t of ["date", "range", "reference_drop_down", "subform", "checkbox", "double", "integer"]) {
cached = !cached; cached = !cached;
var config = { var config = {
help: {title: "HELP", content: "help me, help me, help me-e-e!"}, help: {
title: "HELP",
content: "help me, help me, help me-e-e!"
},
type: t, type: t,
cached: cached, cached: cached,
name: "a name", name: "a name",
label: "a label", label: "a label",
from: {name: "from_bla"}, from: {
to: {name: "to_bla"}, name: "from_bla"
},
to: {
name: "to_bla"
},
query: "FIND something", query: "FIND something",
make_desc: getEntityName, make_desc: getEntityName,
fields: [], fields: [],
...@@ -224,7 +254,7 @@ QUnit.test("make_form_field", async function(assert) { ...@@ -224,7 +254,7 @@ QUnit.test("make_form_field", async function(assert) {
}); });
QUnit.test("make_subform", async function(assert) { QUnit.test("make_subform", async function (assert) {
assert.equal(typeof form_elements.make_subform, "function", "function available"); assert.equal(typeof form_elements.make_subform, "function", "function available");
const config = { const config = {
...@@ -243,7 +273,7 @@ QUnit.test("make_subform", async function(assert) { ...@@ -243,7 +273,7 @@ QUnit.test("make_subform", async function(assert) {
}); });
QUnit.test("make_reference_drop_down", async function(assert) { QUnit.test("make_reference_drop_down", async function (assert) {
assert.equal(typeof form_elements.make_reference_drop_down, "function", "function available"); assert.equal(typeof form_elements.make_reference_drop_down, "function", "function available");
var config = { var config = {
...@@ -261,7 +291,7 @@ QUnit.test("make_reference_drop_down", async function(assert) { ...@@ -261,7 +291,7 @@ QUnit.test("make_reference_drop_down", async function(assert) {
assert.equal(label.text(), "IceCore", "label has text"); assert.equal(label.text(), "IceCore", "label has text");
}); });
QUnit.test("make_checkbox_input", function(assert) { QUnit.test("make_checkbox_input", function (assert) {
assert.equal(typeof form_elements.make_checkbox_input, "function", "function available"); assert.equal(typeof form_elements.make_checkbox_input, "function", "function available");
...@@ -296,19 +326,54 @@ QUnit.test("make_checkbox_input", function(assert) { ...@@ -296,19 +326,54 @@ QUnit.test("make_checkbox_input", function(assert) {
}); });
QUnit.test("form_to_object", async function(assert) { QUnit.test("form_to_object", async function (assert) {
assert.equal(typeof form_elements.form_to_object, "function", "function available"); assert.equal(typeof form_elements.form_to_object, "function", "function available");
var config = { var config = {
fields: [ fields: [{
{ type: "date", name: "the-date" }, type: "date",
{ type: "reference_drop_down", name: "icecore", query: "FIND Record IceCore"}, name: "the-date"
{ type: "range", name: "the-range", from: {name: "fromblla"}, to: {name: "toblla"}}, }, {
{ type: "subform", name: "subform1", fields: [ type: "reference_drop_down",
{ type: "date", name: "the-other-date", }, name: "icecore",
{ type: "checkbox", name: "rectangular", }, query: "FIND Record IceCore"
],}, }, {
], type: "range",
name: "the-range",
from: {
name: "fromblla"
},
to: {
name: "toblla"
}
}, {
type: "subform",
name: "subform1",
fields: [{
type: "date",
name: "the-other-date",
}, {
type: "checkbox",
name: "rectangular",
}, ],
}, {
type: "select",
required: true,
cached: true,
name: "sex",
label: "Sex",
value: "d",
options: [{
"value": "f",
"label": "female"
}, {
"value": "d",
"label": "diverse"
}, {
"value": "m",
"label": "male"
}, ],
}, ],
}; };
var form = await form_elements.make_script_form(config, "bla"); var form = await form_elements.make_script_form(config, "bla");
...@@ -320,6 +385,7 @@ QUnit.test("form_to_object", async function(assert) { ...@@ -320,6 +385,7 @@ QUnit.test("form_to_object", async function(assert) {
assert.equal(json["icecore"], null, "reference_drop_down"); assert.equal(json["icecore"], null, "reference_drop_down");
assert.equal(json["fromblla"], "", "range from"); assert.equal(json["fromblla"], "", "range from");
assert.equal(json["toblla"], "", "range to"); assert.equal(json["toblla"], "", "range to");
assert.equal(json["sex"], "d", "select");
assert.equal(typeof json["the-other-date"], "undefined", "subform element not on root level"); assert.equal(typeof json["the-other-date"], "undefined", "subform element not on root level");
var subform = json["subform1"]; var subform = json["subform1"];
...@@ -331,10 +397,13 @@ QUnit.test("form_to_object", async function(assert) { ...@@ -331,10 +397,13 @@ QUnit.test("form_to_object", async function(assert) {
}); });
QUnit.test("make_double_input", function(assert) { QUnit.test("make_double_input", function (assert) {
assert.equal(typeof form_elements.make_double_input, "function", "function available"); assert.equal(typeof form_elements.make_double_input, "function", "function available");
var config = {type: "double", name: "d"}; var config = {
type: "double",
name: "d"
};
var input = $(form_elements.make_double_input(config)).find("input"); var input = $(form_elements.make_double_input(config)).find("input");
assert.ok(input.is("[type='number'][step='any']"), "double input"); assert.ok(input.is("[type='number'][step='any']"), "double input");
...@@ -344,10 +413,13 @@ QUnit.test("make_double_input", function(assert) { ...@@ -344,10 +413,13 @@ QUnit.test("make_double_input", function(assert) {
}); });
QUnit.test("make_integer_input", function(assert) { QUnit.test("make_integer_input", function (assert) {
assert.equal(typeof form_elements.make_integer_input, "function", "function available"); assert.equal(typeof form_elements.make_integer_input, "function", "function available");
var config = {type: "integer", name: "i"}; var config = {
type: "integer",
name: "i"
};
var input = $(form_elements.make_integer_input(config)).find("input"); var input = $(form_elements.make_integer_input(config)).find("input");
assert.ok(input.is("[type='number'][step='1']"), "integer input"); assert.ok(input.is("[type='number'][step='1']"), "integer input");
...@@ -356,21 +428,26 @@ QUnit.test("make_integer_input", function(assert) { ...@@ -356,21 +428,26 @@ QUnit.test("make_integer_input", function(assert) {
assert.equal(input.val("abc").val(), "", "abc not valid"); assert.equal(input.val("abc").val(), "", "abc not valid");
}); });
QUnit.test("make_form", function(assert) { QUnit.test("make_form", function (assert) {
assert.equal(typeof form_elements.make_form, "function", "function available"); assert.equal(typeof form_elements.make_form, "function", "function available");
var form1 = form_elements.make_form({fields: []}); var form1 = form_elements.make_form({
fields: []
});
assert.equal(form1.tagName, "DIV", "wrapper is div"); assert.equal(form1.tagName, "DIV", "wrapper is div");
assert.ok($(form1).hasClass("caosdb-f-form-wrapper"), "div has caosdb-f-form-wrapper class"); assert.ok($(form1).hasClass("caosdb-f-form-wrapper"), "div has caosdb-f-form-wrapper class");
assert.equal($(form1).find(".h3").length, 0, "no header"); assert.equal($(form1).find(".h3").length, 0, "no header");
var form2 = form_elements.make_form({fields: [], header: "bla"}); var form2 = form_elements.make_form({
fields: [],
header: "bla"
});
assert.equal(form2.tagName, "DIV", "wrapper is div"); assert.equal(form2.tagName, "DIV", "wrapper is div");
assert.equal($(form2).find(".h3").length, 1, "one header"); assert.equal($(form2).find(".h3").length, 1, "one header");
assert.equal($(form2).find(".h3").text(), "bla", "header text set"); assert.equal($(form2).find(".h3").text(), "bla", "header text set");
}); });
QUnit.test("enable/disable_group", function(assert) { QUnit.test("enable/disable_group", function (assert) {
assert.equal(typeof form_elements.disable_group, "function", "function available"); assert.equal(typeof form_elements.disable_group, "function", "function available");
assert.equal(typeof form_elements.enable_group, "function", "function available"); assert.equal(typeof form_elements.enable_group, "function", "function available");
...@@ -417,11 +494,11 @@ QUnit.test("enable/disable_group", function(assert) { ...@@ -417,11 +494,11 @@ QUnit.test("enable/disable_group", function(assert) {
}); });
QUnit.test("parse_script_result", function(assert) { QUnit.test("parse_script_result", function (assert) {
assert.equal(typeof form_elements.parse_script_result, "function", "function available"); assert.equal(typeof form_elements.parse_script_result, "function", "function available");
var result = str2xml( var result = str2xml(
`<?xml version="1.0" encoding="UTF-8"?> `<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://localhost:10443/webinterface/webcaosdb.xsl" ?> <?xml-stylesheet type="text/xsl" href="https://localhost:10443/webinterface/webcaosdb.xsl" ?>
<Response username="admin" realm="PAM" srid="256c14970dac2b2b5649973d52e4c06a" timestamp="1570785591824" baseuri="https://localhost:10443"> <Response username="admin" realm="PAM" srid="256c14970dac2b2b5649973d52e4c06a" timestamp="1570785591824" baseuri="https://localhost:10443">
<UserInfo username="admin" realm="PAM"> <UserInfo username="admin" realm="PAM">
...@@ -447,15 +524,15 @@ QUnit.test("parse_script_result", function(assert) { ...@@ -447,15 +524,15 @@ QUnit.test("parse_script_result", function(assert) {
}); });
QUnit.test("disable_name", function(assert) { QUnit.test("disable_name", function (assert) {
assert.equal(typeof form_elements.disable_name, "function", "function available"); assert.equal(typeof form_elements.disable_name, "function", "function available");
}); });
QUnit.test("enable_name", function(assert) { QUnit.test("enable_name", function (assert) {
assert.equal(typeof form_elements.enable_name, "function", "function available"); assert.equal(typeof form_elements.enable_name, "function", "function available");
}); });
QUnit.test("add_field_to_group", function(assert) { QUnit.test("add_field_to_group", function (assert) {
assert.equal(typeof form_elements.add_field_to_group, "function", "function available"); assert.equal(typeof form_elements.add_field_to_group, "function", "function available");
var field = $(form_elements._make_field_wrapper("field1"))[0]; var field = $(form_elements._make_field_wrapper("field1"))[0];
...@@ -466,7 +543,7 @@ QUnit.test("add_field_to_group", function(assert) { ...@@ -466,7 +543,7 @@ QUnit.test("add_field_to_group", function(assert) {
}); });
QUnit.test("cache_form", async function(assert) { QUnit.test("cache_form", async function (assert) {
var form = await this.get_example_1(); var form = await this.get_example_1();
assert.equal($(form).find("form").length, 1, "example form available"); assert.equal($(form).find("form").length, 1, "example form available");
...@@ -480,7 +557,7 @@ QUnit.test("cache_form", async function(assert) { ...@@ -480,7 +557,7 @@ QUnit.test("cache_form", async function(assert) {
}); });
QUnit.test("load_cached", async function(assert) { QUnit.test("load_cached", async function (assert) {
var done = assert.async(); var done = assert.async();
var form = await this.get_example_1(); var form = await this.get_example_1();
assert.equal($(form).find("form").length, 1, "example form available"); assert.equal($(form).find("form").length, 1, "example form available");
...@@ -502,7 +579,7 @@ QUnit.test("load_cached", async function(assert) { ...@@ -502,7 +579,7 @@ QUnit.test("load_cached", async function(assert) {
}); });
QUnit.test("field_ready", function(assert) { QUnit.test("field_ready", function (assert) {
var done = assert.async(3); var done = assert.async(3);
var field1 = $('<div id="f1"><div class="caosdb-f-field-not-ready"/></div>')[0]; var field1 = $('<div id="f1"><div class="caosdb-f-field-not-ready"/></div>')[0];
var field2 = $('<div id="f2" class="caosdb-f-field-not-ready"/>')[0]; var field2 = $('<div id="f2" class="caosdb-f-field-not-ready"/>')[0];
...@@ -545,11 +622,13 @@ QUnit.test("field_ready", function(assert) { ...@@ -545,11 +622,13 @@ QUnit.test("field_ready", function(assert) {
}); });
}); });
QUnit.test("make_alert - cancel", async function(assert) { QUnit.test("make_alert - cancel", async function (assert) {
var cancel_callback = assert.async() var cancel_callback = assert.async()
var _alert = form_elements.make_alert({ var _alert = form_elements.make_alert({
message: "message", message: "message",
proceed_callback: () => {assert.ok(false, "this should not be called");}, proceed_callback: () => {
assert.ok(false, "this should not be called");
},
cancel_callback: cancel_callback, cancel_callback: cancel_callback,
}); });
$("body").append(_alert); $("body").append(_alert);
...@@ -563,7 +642,7 @@ QUnit.test("make_alert - cancel", async function(assert) { ...@@ -563,7 +642,7 @@ QUnit.test("make_alert - cancel", async function(assert) {
}); });
QUnit.test("make_alert - proceed", async function(assert) { QUnit.test("make_alert - proceed", async function (assert) {
var proceed_callback = assert.async(); var proceed_callback = assert.async();
var _alert = form_elements.make_alert({ var _alert = form_elements.make_alert({
message: "message", message: "message",
...@@ -580,7 +659,7 @@ QUnit.test("make_alert - proceed", async function(assert) { ...@@ -580,7 +659,7 @@ QUnit.test("make_alert - proceed", async function(assert) {
}); });
QUnit.test("make_alert - remember", async function(assert) { QUnit.test("make_alert - remember", async function (assert) {
form_elements._set_alert_decision("unittests", ""); form_elements._set_alert_decision("unittests", "");
var proceed_callback = assert.async(3); var proceed_callback = assert.async(3);
...@@ -627,13 +706,21 @@ QUnit.test("make_alert - remember", async function(assert) { ...@@ -627,13 +706,21 @@ QUnit.test("make_alert - remember", async function(assert) {
assert.equal(typeof _alert, "undefined", "alert was not created, proceed callback was called third time"); assert.equal(typeof _alert, "undefined", "alert was not created, proceed callback was called third time");
}); });
QUnit.test("make_select_input", function(assert) { QUnit.test("make_select_input", function (assert) {
const config = { const config = {
name: "sex", label: "Sex", multiple: true, options: [ name: "sex",
{"value": "f", "label": "female"}, label: "Sex",
{"value": "d", "label": "diverse"}, multiple: true,
{"value": "m", "label": "male"}, options: [{
], "value": "f",
"label": "female"
}, {
"value": "d",
"label": "diverse"
}, {
"value": "m",
"label": "male"
}, ],
} }
const select = $(form_elements.make_select_input(config)); const select = $(form_elements.make_select_input(config));
assert.equal(select.find("select").length, 1, "select input there"); assert.equal(select.find("select").length, 1, "select input there");
...@@ -643,21 +730,24 @@ QUnit.test("make_select_input", function(assert) { ...@@ -643,21 +730,24 @@ QUnit.test("make_select_input", function(assert) {
QUnit.test("select_input caching", async function (assert) { QUnit.test("select_input caching", async function (assert) {
const config = { const config = {
"name": "test-form", "name": "test-form",
"fields": [ "fields": [{
{ type: "select",
type: "select", required: true,
required: true, cached: true,
cached: true, name: "sex",
name: "sex", label: "Sex",
label: "Sex", options: [{
options: [ "value": "f",
{"value": "f", "label": "female"}, "label": "female"
{"value": "d", "label": "diverse"}, }, {
{"value": "m", "label": "male"}, "value": "d",
], "label": "diverse"
}, }, {
], "value": "m",
"label": "male"
}, ],
}, ],
} }
const form_wrapper = $(form_elements.make_form(config)); const form_wrapper = $(form_elements.make_form(config));
await sleep(200); await sleep(200);
...@@ -682,4 +772,4 @@ QUnit.test("select_input caching", async function (assert) { ...@@ -682,4 +772,4 @@ QUnit.test("select_input caching", async function (assert) {
form_elements.load_cached(cache, form[0]); form_elements.load_cached(cache, form[0]);
await sleep(200); await sleep(200);
assert.equal(form_elements.get_cache_value(field[0]), "f", "value back to value from cache"); assert.equal(form_elements.get_cache_value(field[0]), "f", "value back to value from cache");
}); });
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment