mirror of
https://github.com/wekan/wekan.git
synced 2025-12-23 02:40:14 +01:00
Include to Wekan packages directory contents, so that meteor command would build all directly.
This also simplifies build scripts. Thanks to xet7 !
This commit is contained in:
parent
6117097a93
commit
73e265d8fd
354 changed files with 36977 additions and 106 deletions
215
packages/meteor-useraccounts-core/tests/tests.js
Normal file
215
packages/meteor-useraccounts-core/tests/tests.js
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
Tinytest.add("AccountsTemplates - addField/removeField", function(test) {
|
||||
// Calls after AccountsTemplates.init()
|
||||
AccountsTemplates._initialized = true;
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addField("");
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message === "AccountsTemplates.addField should strictly be called before AccountsTemplates.init!")
|
||||
return true;
|
||||
});
|
||||
test.throws(function() {
|
||||
AccountsTemplates.removeField("");
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message === "AccountsTemplates.removeField should strictly be called before AccountsTemplates.init!")
|
||||
return true;
|
||||
});
|
||||
AccountsTemplates._initialized = false;
|
||||
|
||||
// Trying to remove a non-existing field
|
||||
test.throws(function() {
|
||||
AccountsTemplates.removeField("foo");
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message == "A field called foo does not exist!")
|
||||
return true;
|
||||
});
|
||||
|
||||
// Trying to remove an existing field
|
||||
var email = AccountsTemplates.removeField("email");
|
||||
test.isUndefined(AccountsTemplates.getField("email"));
|
||||
// ...and puts it back in for tests re-run
|
||||
AccountsTemplates.addField(email);
|
||||
|
||||
// Trying to add an already existing field
|
||||
test.throws(function() {
|
||||
var pwd = AccountsTemplates.getField("password");
|
||||
AccountsTemplates.addField(pwd);
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message == "A field called password already exists!")
|
||||
return true;
|
||||
});
|
||||
|
||||
var login = {
|
||||
_id: "login",
|
||||
displayName: "Email",
|
||||
type: "email"
|
||||
};
|
||||
|
||||
// Successful add
|
||||
AccountsTemplates.addField(login);
|
||||
// ...and removes it for tests re-run
|
||||
AccountsTemplates.removeField("login");
|
||||
|
||||
// Invalid field.type
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addField({
|
||||
_id: "foo",
|
||||
displayName: "Foo",
|
||||
type: "bar"
|
||||
});
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message == "field.type is not valid!")
|
||||
return true;
|
||||
});
|
||||
|
||||
// Invalid minLength
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addField({
|
||||
_id: "first-name",
|
||||
displayName: "First Name",
|
||||
type: "text",
|
||||
minLength: 0
|
||||
});
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message == "field.minLength should be greater than zero!")
|
||||
return true;
|
||||
});
|
||||
// Invalid maxLength
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addField({
|
||||
_id: "first-name",
|
||||
displayName: "First Name",
|
||||
type: "text",
|
||||
maxLength: 0
|
||||
});
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message == "field.maxLength should be greater than zero!")
|
||||
return true;
|
||||
});
|
||||
// maxLength < minLength
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addField({
|
||||
_id: "first-name",
|
||||
displayName: "First Name",
|
||||
type: "text",
|
||||
minLength: 2,
|
||||
maxLength: 1
|
||||
});
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message == "field.maxLength should be greater than field.maxLength!")
|
||||
return true;
|
||||
});
|
||||
|
||||
// Successful add
|
||||
var first_name = {
|
||||
_id: "first_name",
|
||||
displayName: "First Name",
|
||||
type: "text",
|
||||
minLength: 2,
|
||||
maxLength: 50,
|
||||
required: true
|
||||
};
|
||||
AccountsTemplates.addField(first_name);
|
||||
// Now removes it to be consistent with tests re-run
|
||||
AccountsTemplates.removeField("first_name");
|
||||
});
|
||||
|
||||
|
||||
Tinytest.add("AccountsTemplates - addFields", function(test) {
|
||||
// Fake uninitialized state...
|
||||
AccountsTemplates._initialized = false;
|
||||
|
||||
if (Meteor.isClient) {
|
||||
// addFields does not exist client-side
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addFields();
|
||||
});
|
||||
} else {
|
||||
// Not an array of objects
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addFields("");
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message === "field argument should be an array of valid field objects!")
|
||||
return true;
|
||||
});
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addFields(100);
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message === "field argument should be an array of valid field objects!")
|
||||
return true;
|
||||
});
|
||||
// Empty array
|
||||
test.throws(function() {
|
||||
AccountsTemplates.addFields([]);
|
||||
}, function(err) {
|
||||
if (err instanceof Error && err.message === "field argument should be an array of valid field objects!")
|
||||
return true;
|
||||
});
|
||||
|
||||
// Successful add
|
||||
var first_name = {
|
||||
_id: "first_name",
|
||||
displayName: "First Name",
|
||||
type: "text",
|
||||
minLength: 2,
|
||||
maxLength: 50,
|
||||
required: true
|
||||
};
|
||||
var last_name = {
|
||||
_id: "last_name",
|
||||
displayName: "Last Name",
|
||||
type: "text",
|
||||
minLength: 2,
|
||||
maxLength: 100,
|
||||
required: false
|
||||
};
|
||||
AccountsTemplates.addFields([first_name, last_name]);
|
||||
// Now removes ot to be consistend with tests re-run
|
||||
AccountsTemplates.removeField("first_name");
|
||||
AccountsTemplates.removeField("last_name");
|
||||
}
|
||||
// Restores initialized state...
|
||||
AccountsTemplates._initialized = true;
|
||||
});
|
||||
|
||||
|
||||
Tinytest.add("AccountsTemplates - setState/getState", function(test) {
|
||||
if (Meteor.isServer) {
|
||||
// getState does not exist server-side
|
||||
test.throws(function() {
|
||||
AccountsTemplates.getState();
|
||||
});
|
||||
// setState does not exist server-side
|
||||
test.throws(function() {
|
||||
AccountsTemplates.setState();
|
||||
});
|
||||
} else {
|
||||
_.each(AccountsTemplates.STATES, function(state){
|
||||
AccountsTemplates.setState(state);
|
||||
test.equal(AccountsTemplates.getState(), state);
|
||||
});
|
||||
// Setting an invalid state should throw a Meteor.Error
|
||||
test.throws(function() {
|
||||
AccountsTemplates.setState("foo");
|
||||
}, function(err) {
|
||||
if (err instanceof Meteor.Error && err.details == "accounts-templates-core package got an invalid state value!")
|
||||
return true;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// -------------------------------------
|
||||
// TODO: complite the following tests...
|
||||
// -------------------------------------
|
||||
|
||||
|
||||
Tinytest.add("AccountsTemplates - configure", function(test) {
|
||||
if (Meteor.isClient) {
|
||||
// configure does not exist client-side
|
||||
test.throws(function() {
|
||||
AccountsTemplates.configure({});
|
||||
});
|
||||
} else {
|
||||
// TODO: write actual tests...
|
||||
}
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue