diff --git a/test/test.register_member.js b/test/test.register_member.js index 2e294aeb4..4139b49dc 100644 --- a/test/test.register_member.js +++ b/test/test.register_member.js @@ -35,8 +35,9 @@ describe('Test Register Member API', function () { * This is needed for cleaning up LDAP users because the key is the user id * which is generated by the user sequence. */ - var firstUserIdInLDAP = 0; - var lastUserIdInLDAP = 0; + var firstUserIdInLDAP = 0, + lastUserIdInLDAP = 0, + validateDatabase; /** * Clear database * @param {Function} done the callback @@ -46,10 +47,10 @@ describe('Test Register Member API', function () { log: function () { return null; } - }; - require('../initializers/ldapHelper').ldapHelper(api, function(){ - for(var i = firstUserIdInLDAP; i <= lastUserIdInLDAP; i++){ - api.ldapHelper.removeMemberProfileLDAPEntry(""+i, function(){}); + }, i; + require('../initializers/ldapHelper').ldapHelper(api, function () { + for (i = firstUserIdInLDAP; i <= lastUserIdInLDAP; i += 1) { + api.ldapHelper.removeMemberProfileLDAPEntry(i.toString(), function () {}); } async.waterfall([ function (cb) { @@ -57,7 +58,7 @@ describe('Test Register Member API', function () { }, function (cb) { testHelper.runSqlFromJSON(SQL_DIR + "informixoltp__clean.json", cb); } - ], function(){ + ], function () { done(); }); }); @@ -104,12 +105,12 @@ describe('Test Register Member API', function () { done(); } }); - + }); /// Check if the data are in expected structure and data it('should return errors if inputs are spaces only', function (done) { - var text = fs.readFileSync("test/test_files/exptected_member_register_invalid_1.txt", 'utf8'), + var text = fs.readFileSync("test/test_files/expected_member_register_invalid_1.txt", 'utf8'), expected = JSON.parse(text); supertest(API_ENDPOINT) @@ -125,10 +126,28 @@ describe('Test Register Member API', function () { }); }); + /// Check if the data are in expected structure and data + it('should return errors if inputs are spaces only but the firstName and lastName are allowed to have spaces', function (done) { + var text = fs.readFileSync("test/test_files/expected_member_register_invalid_5.txt", 'utf8'), + expected = JSON.parse(text); + + supertest(API_ENDPOINT) + .post('/v2/users').set('Accept', 'application/json') + .send({ firstName: 'a b', lastName: 'a b', handle: ' ', email: ' ', password: '123456', country: ' ' }) + .expect('Content-Type', /json/) + .expect(400) + .end(function (err, result) { + if (!err) { + assert.deepEqual(JSON.parse(result.res.text).error.details, expected, "Invalid error message"); + } + done(err); + }); + }); + /// Check if the data are in expected structure and data it('should return errors: invalid country, email, firstname, lastname, handle, social', function (done) { - var text = fs.readFileSync("test/test_files/exptected_member_register_invalid_2.txt", 'utf8'), + var text = fs.readFileSync("test/test_files/expected_member_register_invalid_2.txt", 'utf8'), expected = JSON.parse(text); supertest(API_ENDPOINT) @@ -146,7 +165,7 @@ describe('Test Register Member API', function () { /// Check if the data are in expected structure and data it('should return errors: invalid handle and invalid social id', function (done) { - var text = fs.readFileSync("test/test_files/exptected_member_register_invalid_3.txt", 'utf8'), + var text = fs.readFileSync("test/test_files/expected_member_register_invalid_3.txt", 'utf8'), expected = JSON.parse(text); supertest(API_ENDPOINT) @@ -164,7 +183,7 @@ describe('Test Register Member API', function () { /// Check if the user is prevented to register without a password when not using social login it('should return errors: no password provided when registering (no social login)', function (done) { - var text = fs.readFileSync("test/test_files/exptected_member_register_invalid_4.txt", 'utf8'), + var text = fs.readFileSync("test/test_files/expected_member_register_invalid_4.txt", 'utf8'), expected = JSON.parse(text); supertest(API_ENDPOINT) @@ -181,16 +200,16 @@ describe('Test Register Member API', function () { }); //validateDatabase for test successInput - var validateDatabase = function (done) { + validateDatabase = function (done) { var text, userExpected, securityUserExpected, userGroupExpected, userSocialExpected; - text = fs.readFileSync("test/test_files/exptected_member_register_validate_user.txt", 'utf8'); + text = fs.readFileSync("test/test_files/expected_member_register_validate_user.txt", 'utf8'); userExpected = JSON.parse(text); - text = fs.readFileSync("test/test_files/exptected_member_register_validate_security_user.txt", 'utf8'); + text = fs.readFileSync("test/test_files/expected_member_register_validate_security_user.txt", 'utf8'); securityUserExpected = JSON.parse(text); - text = fs.readFileSync("test/test_files/exptected_member_register_validate_user_group.txt", 'utf8'); + text = fs.readFileSync("test/test_files/expected_member_register_validate_user_group.txt", 'utf8'); userGroupExpected = JSON.parse(text); - text = fs.readFileSync("test/test_files/exptected_member_register_validate_user_social.txt", 'utf8'); + text = fs.readFileSync("test/test_files/expected_member_register_validate_user_social.txt", 'utf8'); userSocialExpected = JSON.parse(text); async.series({ @@ -337,7 +356,7 @@ describe('Test Register Member API', function () { /// Check if the data are in expected structure and data it('should return if handle and email(case-insensitive) exists', function (done) { - var text = fs.readFileSync("test/test_files/exptected_member_register_invalid_existing.txt", 'utf8'), + var text = fs.readFileSync("test/test_files/expected_member_register_invalid_existing.txt", 'utf8'), expected = JSON.parse(text); supertest(API_ENDPOINT) diff --git a/test/test_files/exptected_member_register_invalid_1.txt b/test/test_files/expected_member_register_invalid_1.txt similarity index 100% rename from test/test_files/exptected_member_register_invalid_1.txt rename to test/test_files/expected_member_register_invalid_1.txt diff --git a/test/test_files/exptected_member_register_invalid_2.txt b/test/test_files/expected_member_register_invalid_2.txt similarity index 100% rename from test/test_files/exptected_member_register_invalid_2.txt rename to test/test_files/expected_member_register_invalid_2.txt diff --git a/test/test_files/exptected_member_register_invalid_3.txt b/test/test_files/expected_member_register_invalid_3.txt similarity index 100% rename from test/test_files/exptected_member_register_invalid_3.txt rename to test/test_files/expected_member_register_invalid_3.txt diff --git a/test/test_files/exptected_member_register_invalid_4.txt b/test/test_files/expected_member_register_invalid_4.txt similarity index 100% rename from test/test_files/exptected_member_register_invalid_4.txt rename to test/test_files/expected_member_register_invalid_4.txt diff --git a/test/test_files/expected_member_register_invalid_5.txt b/test/test_files/expected_member_register_invalid_5.txt new file mode 100644 index 000000000..d20d5f577 --- /dev/null +++ b/test/test_files/expected_member_register_invalid_5.txt @@ -0,0 +1,5 @@ +[ + "Country name is not valid.", + "Email is required", + "Handle is required" +] diff --git a/test/test_files/exptected_member_register_invalid_existing.txt b/test/test_files/expected_member_register_invalid_existing.txt similarity index 100% rename from test/test_files/exptected_member_register_invalid_existing.txt rename to test/test_files/expected_member_register_invalid_existing.txt diff --git a/test/test_files/exptected_member_register_validate_security_user.txt b/test/test_files/expected_member_register_validate_security_user.txt similarity index 100% rename from test/test_files/exptected_member_register_validate_security_user.txt rename to test/test_files/expected_member_register_validate_security_user.txt diff --git a/test/test_files/exptected_member_register_validate_user.txt b/test/test_files/expected_member_register_validate_user.txt similarity index 100% rename from test/test_files/exptected_member_register_validate_user.txt rename to test/test_files/expected_member_register_validate_user.txt diff --git a/test/test_files/exptected_member_register_validate_user_group.txt b/test/test_files/expected_member_register_validate_user_group.txt similarity index 100% rename from test/test_files/exptected_member_register_validate_user_group.txt rename to test/test_files/expected_member_register_validate_user_group.txt diff --git a/test/test_files/exptected_member_register_validate_user_social.txt b/test/test_files/expected_member_register_validate_user_social.txt similarity index 100% rename from test/test_files/exptected_member_register_validate_user_social.txt rename to test/test_files/expected_member_register_validate_user_social.txt