Skip to content
Snippets Groups Projects
Commit 7ceb55fd authored by Piotr Gawron's avatar Piotr Gawron
Browse files

too long login should return validation error

parent 12e068f6
No related branches found
No related tags found
1 merge request!901Resolve "MINERVANET - Error Report 104"
...@@ -674,6 +674,10 @@ EditUserDialog.prototype.checkValidity = function () { ...@@ -674,6 +674,10 @@ EditUserDialog.prototype.checkValidity = function () {
error += "<li>Login must not be empty</li>"; error += "<li>Login must not be empty</li>";
isValid = false; isValid = false;
} }
if (self.getLogin().length > 255) {
error += "<li>Login must shorter than 256 characters</li>";
isValid = false;
}
if (isValid) { if (isValid) {
return Promise.resolve(true); return Promise.resolve(true);
} else { } else {
...@@ -708,6 +712,10 @@ EditUserDialog.prototype.getLogin = function () { ...@@ -708,6 +712,10 @@ EditUserDialog.prototype.getLogin = function () {
return $("[name='userLogin']", self.getElement()).val(); return $("[name='userLogin']", self.getElement()).val();
}; };
EditUserDialog.prototype.setLogin = function (login) {
$("[name='userLogin']", this.getElement()).val(login);
};
/** /**
* *
* @returns {string} * @returns {string}
......
...@@ -15,10 +15,14 @@ var chai = require('chai'); ...@@ -15,10 +15,14 @@ var chai = require('chai');
var assert = chai.assert; var assert = chai.assert;
var expect = chai.expect; var expect = chai.expect;
function createEditUserDialog(project, user) { /**
*
* @param {User} user
* @return {EditUserDialog}
*/
function createEditUserDialog(user) {
return new EditUserDialog({ return new EditUserDialog({
element: testDiv, element: testDiv,
project: project,
user: user, user: user,
configuration: helper.getConfiguration(), configuration: helper.getConfiguration(),
serverConnector: ServerConnector serverConnector: ServerConnector
...@@ -33,8 +37,7 @@ describe('EditUserDialog', function () { ...@@ -33,8 +37,7 @@ describe('EditUserDialog', function () {
var project; var project;
var user = new User({}); var user = new User({});
return ServerConnector.getProject().then(function (result) { return ServerConnector.getProject().then(function (result) {
project = result; dialog = createEditUserDialog(user);
dialog = createEditUserDialog(project, user);
return dialog.init(); return dialog.init();
}).then(function () { }).then(function () {
assert.equal(0, logger.getWarnings().length); assert.equal(0, logger.getWarnings().length);
...@@ -48,11 +51,9 @@ describe('EditUserDialog', function () { ...@@ -48,11 +51,9 @@ describe('EditUserDialog', function () {
describe('checkValidity', function () { describe('checkValidity', function () {
it('empty user', function () { it('empty user', function () {
var dialog; var dialog;
var project;
var user = new User({}); var user = new User({});
return ServerConnector.getProject().then(function (result) { return ServerConnector.getProject().then(function (result) {
project = result; dialog = createEditUserDialog(user);
dialog = createEditUserDialog(project, user);
return dialog.init(); return dialog.init();
}).then(function () { }).then(function () {
return dialog.checkValidity().then(function () { return dialog.checkValidity().then(function () {
...@@ -65,16 +66,30 @@ describe('EditUserDialog', function () { ...@@ -65,16 +66,30 @@ describe('EditUserDialog', function () {
}); });
}); });
it('too long user login', function () {
var dialog;
var user = new User({});
dialog = createEditUserDialog(user);
return dialog.init().then(function () {
dialog.setLogin("x".repeat(256));
return dialog.checkValidity().then(function () {
assert.ok(null);
}).catch(function (error) {
assert.ok(error instanceof ValidationError);
});
}).then(function () {
dialog.destroy();
});
});
it('existing user', function () { it('existing user', function () {
var dialog; var dialog;
var project;
var user; var user;
return ServerConnector.getUser("anonymous").then(function (result) { return ServerConnector.getUser("anonymous").then(function (result) {
user = result; user = result;
return ServerConnector.getProject(); return ServerConnector.getProject();
}).then(function (result) { }).then(function (result) {
project = result; dialog = createEditUserDialog(user);
dialog = createEditUserDialog(project, user);
return dialog.init(); return dialog.init();
}).then(function () { }).then(function () {
return dialog.checkValidity(); return dialog.checkValidity();
...@@ -90,14 +105,12 @@ describe('EditUserDialog', function () { ...@@ -90,14 +105,12 @@ describe('EditUserDialog', function () {
it('existing user', function () { it('existing user', function () {
helper.loginAsAdmin(); helper.loginAsAdmin();
var dialog; var dialog;
var project;
var user; var user;
return ServerConnector.getUser("admin").then(function (result) { return ServerConnector.getUser("admin").then(function (result) {
user = result; user = result;
return ServerConnector.getProject(); return ServerConnector.getProject();
}).then(function (result) { }).then(function (result) {
project = result; dialog = createEditUserDialog(user);
dialog = createEditUserDialog(project, user);
return dialog.init(); return dialog.init();
}).then(function () { }).then(function () {
return dialog.onSaveClicked(); return dialog.onSaveClicked();
...@@ -111,7 +124,6 @@ describe('EditUserDialog', function () { ...@@ -111,7 +124,6 @@ describe('EditUserDialog', function () {
it('existing user', function () { it('existing user', function () {
helper.loginAsAdmin(); helper.loginAsAdmin();
var dialog; var dialog;
var project;
var user; var user;
var serializedPrivileges; var serializedPrivileges;
return ServerConnector.getUser("anonymous").then(function (result) { return ServerConnector.getUser("anonymous").then(function (result) {
...@@ -119,8 +131,7 @@ describe('EditUserDialog', function () { ...@@ -119,8 +131,7 @@ describe('EditUserDialog', function () {
serializedPrivileges = user.getPrivileges().slice(); serializedPrivileges = user.getPrivileges().slice();
return ServerConnector.getProject(); return ServerConnector.getProject();
}).then(function (result) { }).then(function (result) {
project = result; dialog = createEditUserDialog(user);
dialog = createEditUserDialog(project, user);
return dialog.init(); return dialog.init();
}).then(function () { }).then(function () {
var checkbox = $("[name=privilege-checkbox]", dialog.getElement())[0]; var checkbox = $("[name=privilege-checkbox]", dialog.getElement())[0];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment