diff options
Diffstat (limited to 'webapp/tests/client_user.test.jsx')
-rw-r--r-- | webapp/tests/client_user.test.jsx | 558 |
1 files changed, 558 insertions, 0 deletions
diff --git a/webapp/tests/client_user.test.jsx b/webapp/tests/client_user.test.jsx new file mode 100644 index 000000000..eef841018 --- /dev/null +++ b/webapp/tests/client_user.test.jsx @@ -0,0 +1,558 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import assert from 'assert'; +import TestHelper from './test_helper.jsx'; + +describe('Client.User', function() { + this.timeout(100000); + + it('getMe', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getMe( + function(data) { + assert.equal(data.id, TestHelper.basicUser().id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('getInitialLoad', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getInitialLoad( + function(data) { + assert.equal(data.user.id.length > 0, true); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('createUser', function(done) { + var client = TestHelper.createClient(); + var user = TestHelper.fakeUser(); + client.createUser( + user, + function(data) { + assert.equal(data.id.length > 0, true); + assert.equal(data.email, user.email); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + + it('loginByEmail', function(done) { + var client = TestHelper.createClient(); + var user = TestHelper.fakeUser(); + client.createUser( + user, + function() { + client.login( + user.email, + user.password, + null, + function(data) { + assert.equal(data.id.length > 0, true); + assert.equal(data.email, user.email); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + + it('loginById', function(done) { + var client = TestHelper.createClient(); + var user = TestHelper.fakeUser(); + client.createUser( + user, + function(newUser) { + assert.equal(user.email, newUser.email); + client.loginById( + newUser.id, + user.password, + null, + function(data) { + assert.equal(data.id.length > 0, true); + assert.equal(data.email, user.email); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + + it('loginByUsername', function(done) { + var client = TestHelper.createClient(); + var user = TestHelper.fakeUser(); + client.createUser( + user, + function() { + client.login( + user.username, + user.password, + null, + function(data) { + assert.equal(data.id.length > 0, true); + assert.equal(data.email, user.email); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + + it('updateUser', function(done) { + TestHelper.initBasic(() => { + var user = TestHelper.basicUser(); + user.nickname = 'updated'; + + TestHelper.basicClient().updateUser( + user, null, + function(data) { + assert.equal(data.nickname, 'updated'); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('updatePassword', function(done) { + TestHelper.initBasic(() => { + var user = TestHelper.basicUser(); + + TestHelper.basicClient().updatePassword( + user.id, + user.password, + 'update_password', + function(data) { + assert.equal(data.user_id, user.id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('updateUserNotifyProps', function(done) { + TestHelper.initBasic(() => { + var user = TestHelper.basicUser(); + + var notifyProps = { + all: 'true', + channel: 'true', + desktop: 'all', + desktop_sound: 'true', + email: 'false', + first_name: 'false', + mention_keys: '', + user_id: user.id + }; + + TestHelper.basicClient().updateUserNotifyProps( + notifyProps, + function(data) { + assert.equal(data.notify_props.email, 'false'); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('updateRoles', function(done) { + TestHelper.initBasic(() => { + var user = TestHelper.basicUser(); + var team = TestHelper.basicTeam(); + + TestHelper.basicClient().updateRoles( + team.id, + user.id, + '', + function(data) { + assert.equal(data.user_id, user.id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + /* TODO: FIX THIS TEST + it('updateActive', function(done) { + TestHelper.initBasic(() => { + var user = TestHelper.basicUser(); + + TestHelper.basicClient().updateActive( + user.id, + false, + function(data) { + assert.equal(data.last_activity_at > 0, true); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + });*/ + + it('sendPasswordReset', function(done) { + TestHelper.initBasic(() => { + var user = TestHelper.basicUser(); + + TestHelper.basicClient().sendPasswordReset( + user.email, + function(data) { + assert.equal(data.email, user.email); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('resetPassword', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error + + TestHelper.basicClient().resetPassword( + '', + 'new_password', + function() { + throw Error('shouldnt work'); + }, + function(err) { + // this should fail since you're not a system admin + assert.equal(err.id, 'api.context.invalid_param.app_error'); + done(); + } + ); + }); + }); + + it('emailToOAuth', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error + var user = TestHelper.basicUser(); + + TestHelper.basicClient().emailToOAuth( + user.email, + 'new_password', + 'gitlab', + function() { + throw Error('shouldnt work'); + }, + function(err) { + // this should fail since you're not a system admin + assert.equal(err.id, 'api.user.check_user_password.invalid.app_error'); + done(); + } + ); + }); + }); + + it('oauthToEmail', function(done) { + TestHelper.initBasic(() => { + var user = TestHelper.basicUser(); + + TestHelper.basicClient().oauthToEmail( + user.email, + 'new_password', + function(data) { + assert.equal(data.follow_link.length > 0, true); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('emailToLdap', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error + var user = TestHelper.basicUser(); + + TestHelper.basicClient().emailToLdap( + user.email, + user.password, + 'unknown_id', + 'unknown_pwd', + function() { + throw Error('shouldnt work'); + }, + function() { + done(); + } + ); + }); + }); + + it('ldapToEmail', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error + var user = TestHelper.basicUser(); + + TestHelper.basicClient().ldapToEmail( + user.email, + 'new_password', + 'new_password', + function() { + throw Error('shouldnt work'); + }, + function(err) { + assert.equal(err.id, 'api.user.ldap_to_email.not_ldap_account.app_error'); + done(); + } + ); + }); + }); + + it('logout', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().logout( + function(data) { + assert.equal(data.user_id, TestHelper.basicUser().id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('checkMfa', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().checkMfa( + TestHelper.generateId(), + function(data) { + assert.equal(data.mfa_required, 'false'); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('getSessions', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getSessions( + TestHelper.basicUser().id, + function(data) { + assert.equal(data[0].user_id, TestHelper.basicUser().id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('revokeSession', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getSessions( + TestHelper.basicUser().id, + function(sessions) { + TestHelper.basicClient().revokeSession( + sessions[0].id, + function(data) { + assert.equal(data.id, sessions[0].id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('getAudits', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getAudits( + TestHelper.basicUser().id, + function(data) { + assert.equal(data[0].user_id, TestHelper.basicUser().id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('getDirectProfiles', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getDirectProfiles( + function(data) { + assert.equal(Object.keys(data).length === 0, true); + done(); + }, + function(err) { + done(new Error(err.getDirectProfiles)); + } + ); + }); + }); + + it('getProfiles', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getProfiles( + function(data) { + assert.equal(data[TestHelper.basicUser().id].id, TestHelper.basicUser().id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('getProfilesForTeam', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getProfilesForTeam( + TestHelper.basicTeam().id, + function(data) { + assert.equal(data[TestHelper.basicUser().id].id, TestHelper.basicUser().id); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('getProfilesForDirectMessageList', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().getProfilesForDirectMessageList( + function(data) { + assert.equal(Object.keys(data).length > 0, true); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + /* TODO: FIX THIS TEST + it('getStatuses', function(done) { + TestHelper.initBasic(() => { + var ids = []; + ids.push(TestHelper.basicUser().id); + + TestHelper.basicClient().getStatuses( + ids, + function(data) { + assert.equal(data[TestHelper.basicUser().id], 'online'); + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + */ + + it('verifyEmail', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error + TestHelper.basicClient().verifyEmail( + 'junk', + 'junk', + function() { + done(new Error('should be invalid')); + }, + function(err) { + assert.equal(err.id, 'api.context.invalid_param.app_error'); + done(); + } + ); + }); + }); + + it('resendVerification', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error + TestHelper.basicClient().resendVerification( + TestHelper.basicUser().email, + function() { + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('updateMfa', function(done) { + TestHelper.initBasic(() => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error + TestHelper.basicClient().updateMfa( + 'junk', + true, + function() { + done(new Error('not enabled')); + }, + function() { + done(); + } + ); + }); + }); +}); |