summaryrefslogtreecommitdiffstats
path: root/webapp/tests/client_user.test.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-07-19 10:16:44 -0400
committerGitHub <noreply@github.com>2016-07-19 10:16:44 -0400
commit1641370fbedc42e07f7a9b7758286d341f13b624 (patch)
tree0571746e175c7b6da2a5587bda1b8aaca033cc03 /webapp/tests/client_user.test.jsx
parent2b0fcd378ce96277f393b89cac1a98d70e1c480f (diff)
downloadchat-1641370fbedc42e07f7a9b7758286d341f13b624.tar.gz
chat-1641370fbedc42e07f7a9b7758286d341f13b624.tar.bz2
chat-1641370fbedc42e07f7a9b7758286d341f13b624.zip
Moving javascript driver back to platform (#3613)
Diffstat (limited to 'webapp/tests/client_user.test.jsx')
-rw-r--r--webapp/tests/client_user.test.jsx558
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();
+ }
+ );
+ });
+ });
+});