From 7d449e05562c76bb430efc1c36bd715675a84152 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Thu, 23 Mar 2017 18:05:36 +0000 Subject: [PATCH] PLT-5755: Infrastructure for Component Testing. (#5814) This migrates the existing webapp tests to using Jest and Enzyme. The infrastructure is put in place for React component testing, and a few simple example component tests are implemented. This also adds snapshot testing of components, coverage checking for the webapp (although that is not yet integrated to Coveralls), and the ability to run npm run test:watch to automatically re-run affected tests when working on the webapp codebase. --- .gitignore | 1 + Makefile | 5 +- cmd/platform/test.go | 29 ++ webapp/.babelrc | 7 + webapp/client/client.jsx | 3 + webapp/components/about_build_modal.jsx | 2 +- webapp/package.json | 52 ++- webapp/tests/.eslintrc.json | 3 + .../tests/{ => client}/client_admin.test.jsx | 137 ++++--- .../{ => client}/client_channel.test.jsx | 237 ++++++------- .../{ => client}/client_command.test.jsx | 61 ++-- .../tests/{ => client}/client_emoji.test.jsx | 41 +-- .../tests/{ => client}/client_file.test.jsx | 90 +++-- .../{ => client}/client_general.test.jsx | 25 +- .../tests/{ => client}/client_hooks.test.jsx | 77 ++-- .../tests/{ => client}/client_oauth.test.jsx | 21 +- .../tests/{ => client}/client_post.test.jsx | 99 +++--- .../{ => client}/client_preferences.test.jsx | 33 +- .../{ => client}/client_reaction.test.jsx | 22 +- .../tests/{ => client}/client_team.test.jsx | 156 ++++---- .../tests/{ => client}/client_user.test.jsx | 317 +++++++++-------- .../{ => client}/client_websocket.test.jsx | 27 +- .../about_build_modal.test.jsx.snap | 334 ++++++++++++++++++ .../spinner_button.test.jsx.snap | 27 ++ .../components/about_build_modal.test.jsx | 129 +++++++ .../backstage_header.test.jsx.snap | 31 ++ .../components/backstage_header.test.jsx | 26 ++ .../tests/components/spinner_button.test.jsx | 53 +++ .../suggestion/suggestion_box.test.jsx | 16 + webapp/tests/emoticons.test.jsx | 47 --- .../client-test-helper.jsx} | 4 +- webapp/tests/helpers/intl-test-helper.jsx | 22 ++ webapp/tests/spinner_button.test.jsx | 19 - webapp/tests/suggestion_box.test.jsx.disable | 20 -- webapp/tests/utils/emoticons.test.jsx | 36 ++ .../formatting_at_mentions.test.jsx | 2 - .../{ => utils}/formatting_hashtags.test.jsx | 2 - .../{ => utils}/formatting_imgs.test.jsx | 2 - .../{ => utils}/formatting_links.test.jsx | 2 - .../utils_get_nearest_point.test.jsx | 8 +- 40 files changed, 1426 insertions(+), 799 deletions(-) create mode 100644 webapp/.babelrc rename webapp/tests/{ => client}/client_admin.test.jsx (62%) rename webapp/tests/{ => client}/client_channel.test.jsx (61%) rename webapp/tests/{ => client}/client_command.test.jsx (66%) rename webapp/tests/{ => client}/client_emoji.test.jsx (72%) rename webapp/tests/{ => client}/client_file.test.jsx (71%) rename webapp/tests/{ => client}/client_general.test.jsx (56%) rename webapp/tests/{ => client}/client_hooks.test.jsx (65%) rename webapp/tests/{ => client}/client_oauth.test.jsx (67%) rename webapp/tests/{ => client}/client_post.test.jsx (65%) rename webapp/tests/{ => client}/client_preferences.test.jsx (57%) rename webapp/tests/{ => client}/client_reaction.test.jsx (79%) rename webapp/tests/{ => client}/client_team.test.jsx (58%) rename webapp/tests/{ => client}/client_user.test.jsx (62%) rename webapp/tests/{ => client}/client_websocket.test.jsx (60%) create mode 100644 webapp/tests/components/__snapshots__/about_build_modal.test.jsx.snap create mode 100644 webapp/tests/components/__snapshots__/spinner_button.test.jsx.snap create mode 100644 webapp/tests/components/about_build_modal.test.jsx create mode 100644 webapp/tests/components/backstage/components/__snapshots__/backstage_header.test.jsx.snap create mode 100644 webapp/tests/components/backstage/components/backstage_header.test.jsx create mode 100644 webapp/tests/components/spinner_button.test.jsx create mode 100644 webapp/tests/components/suggestion/suggestion_box.test.jsx delete mode 100644 webapp/tests/emoticons.test.jsx rename webapp/tests/{test_helper.jsx => helpers/client-test-helper.jsx} (98%) create mode 100644 webapp/tests/helpers/intl-test-helper.jsx delete mode 100644 webapp/tests/spinner_button.test.jsx delete mode 100644 webapp/tests/suggestion_box.test.jsx.disable create mode 100644 webapp/tests/utils/emoticons.test.jsx rename webapp/tests/{ => utils}/formatting_at_mentions.test.jsx (99%) rename webapp/tests/{ => utils}/formatting_hashtags.test.jsx (99%) rename webapp/tests/{ => utils}/formatting_imgs.test.jsx (98%) rename webapp/tests/{ => utils}/formatting_links.test.jsx (99%) rename webapp/tests/{ => utils}/utils_get_nearest_point.test.jsx (82%) diff --git a/.gitignore b/.gitignore index b9775bad93..6ab3cf0a4d 100644 --- a/.gitignore +++ b/.gitignore @@ -78,6 +78,7 @@ enterprise cover.out ecover.out *.test +webapp/coverage .agignore .ctags diff --git a/Makefile b/Makefile index 79a5489b8e..0d998d7413 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: build package run stop run-client run-server stop-client stop-server restart restart-server restart-client start-docker clean-dist clean nuke check-style check-client-style check-server-style check-unit-tests test dist setup-mac prepare-enteprise run-client-tests setup-run-client-tests cleanup-run-client-tests test-client build-linux build-osx build-windows internal-test-client vet +.PHONY: build package run stop run-client run-server stop-client stop-server restart restart-server restart-client start-docker clean-dist clean nuke check-style check-client-style check-server-style check-unit-tests test dist setup-mac prepare-enteprise run-client-tests setup-run-client-tests cleanup-run-client-tests test-client build-linux build-osx build-windows internal-test-web-client vet run-server-for-web-client-tests # For golang 1.5.x compatibility (remove when we don't want to support it anymore) export GO15VENDOREXPERIMENT=1 @@ -254,6 +254,9 @@ test-server: test-te test-ee internal-test-web-client: start-docker prepare-enterprise $(GO) run $(GOFLAGS) ./cmd/platform/*go test web_client_tests +run-server-for-web-client-tests: + $(GO) run $(GOFLAGS) ./cmd/platform/*go test web_client_tests_server + test-client: start-docker prepare-enterprise @echo Running client tests diff --git a/cmd/platform/test.go b/cmd/platform/test.go index 65a8528d09..cf67d6702c 100644 --- a/cmd/platform/test.go +++ b/cmd/platform/test.go @@ -10,9 +10,12 @@ import ( "os/exec" "github.com/mattermost/platform/api" + "github.com/mattermost/platform/api4" "github.com/mattermost/platform/app" "github.com/mattermost/platform/utils" "github.com/spf13/cobra" + "os/signal" + "syscall" ) var testCmd = &cobra.Command{ @@ -27,9 +30,16 @@ var runWebClientTestsCmd = &cobra.Command{ RunE: webClientTestsCmdF, } +var runServerForWebClientTestsCmd = &cobra.Command{ + Use: "web_client_tests_server", + Short: "Run the server configured for running the web client tests against it", + RunE: serverForWebClientTestsCmdF, +} + func init() { testCmd.AddCommand( runWebClientTestsCmd, + runServerForWebClientTestsCmd, ) } @@ -37,6 +47,7 @@ func webClientTestsCmdF(cmd *cobra.Command, args []string) error { initDBCommandContextCobra(cmd) utils.InitTranslations(utils.Cfg.LocalizationSettings) api.InitRouter() + api4.InitApi(false) api.InitApi() setupClientTests() app.StartServer() @@ -46,6 +57,24 @@ func webClientTestsCmdF(cmd *cobra.Command, args []string) error { return nil } +func serverForWebClientTestsCmdF(cmd *cobra.Command, args []string) error { + initDBCommandContextCobra(cmd) + utils.InitTranslations(utils.Cfg.LocalizationSettings) + api.InitRouter() + api4.InitApi(false) + api.InitApi() + setupClientTests() + app.StartServer() + + c := make(chan os.Signal) + signal.Notify(c, os.Interrupt, syscall.SIGINT, syscall.SIGTERM) + <-c + + app.StopServer() + + return nil +} + func setupClientTests() { *utils.Cfg.TeamSettings.EnableOpenServer = true *utils.Cfg.ServiceSettings.EnableCommands = false diff --git a/webapp/.babelrc b/webapp/.babelrc new file mode 100644 index 0000000000..3c45d7307c --- /dev/null +++ b/webapp/.babelrc @@ -0,0 +1,7 @@ +{ + "presets": [ + "es2015", + "react", + "stage-0" + ] +} diff --git a/webapp/client/client.jsx b/webapp/client/client.jsx index a95049f932..ecb5b18f61 100644 --- a/webapp/client/client.jsx +++ b/webapp/client/client.jsx @@ -2149,6 +2149,7 @@ export default class Client { request. post(`${this.getEmojiRoute()}/delete`). set(this.defaultHeaders). + type('application/json'). accept('application/json'). send({id}). end(this.handleResponse.bind(this, 'deleteEmoji', success, error)); @@ -2218,6 +2219,7 @@ export default class Client { request. post(`${this.getChannelNeededRoute(channelId)}/posts/${reaction.post_id}/reactions/save`). set(this.defaultHeaders). + type('application/json'). accept('application/json'). send(reaction). end(this.handleResponse.bind(this, 'saveReaction', success, error)); @@ -2229,6 +2231,7 @@ export default class Client { request. post(`${this.getChannelNeededRoute(channelId)}/posts/${reaction.post_id}/reactions/delete`). set(this.defaultHeaders). + type('application/json'). accept('application/json'). send(reaction). end(this.handleResponse.bind(this, 'deleteReaction', success, error)); diff --git a/webapp/components/about_build_modal.jsx b/webapp/components/about_build_modal.jsx index b95d3a60a6..71aee93c27 100644 --- a/webapp/components/about_build_modal.jsx +++ b/webapp/components/about_build_modal.jsx @@ -140,7 +140,7 @@ export default class AboutBuildModal extends React.Component { id='about.version' defaultMessage='Version:' /> - {version} + {version}
/node_modules/enzyme-to-json/serializer" + ], + "testPathIgnorePatterns": [ + "/node_modules/", + "/non_npm_dependencies/" + ], + "collectCoverageFrom": [ + "actions/**/*.{js,jsx}", + "client/**/*.{js,jsx}", + "components/**/*.{js,jsx}", + "routes/**/*.{js,jsx}", + "stores/**/*.{js,jsx}", + "utils/**/*.{js,jsx}" + ], + "coverageReporters": [ + "lcov", + "text-summary" + ], + "moduleNameMapper": { + "^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "identity-obj-proxy", + "^.+\\.(css|less|scss)$": "identity-obj-proxy", + "^.+\\.(json)$": "identity-obj-proxy" + }, + "moduleDirectories": [ + "", + "node_modules", + "non_npm_dependencies" + ], + "transformIgnorePatterns": [ + "node_modules/(?!react-native|react-router)" + ] + }, "scripts": { "check": "eslint --ext \".jsx\" --ignore-pattern node_modules --quiet .", "build": "cross-env NODE_ENV=production webpack", "run": "cross-env NODE_ENV=production webpack --progress --watch", "run-fullmap": "webpack --progress --watch", - "test": "mocha-webpack --webpack-config webpack.config.js \"**/*.test.jsx\"" + "test": "jest", + "test:watch": "jest --watch", + "test:coverage": "jest --coverage" } } diff --git a/webapp/tests/.eslintrc.json b/webapp/tests/.eslintrc.json index c2d57abeaf..37f08e6641 100644 --- a/webapp/tests/.eslintrc.json +++ b/webapp/tests/.eslintrc.json @@ -8,5 +8,8 @@ "no-unreachable": 0, "new-cap": 0, "max-nested-callbacks": 0 + }, + "env": { + "jest": true } } diff --git a/webapp/tests/client_admin.test.jsx b/webapp/tests/client/client_admin.test.jsx similarity index 62% rename from webapp/tests/client_admin.test.jsx rename to webapp/tests/client/client_admin.test.jsx index 9d93668afb..36feac8cc3 100644 --- a/webapp/tests/client_admin.test.jsx +++ b/webapp/tests/client/client_admin.test.jsx @@ -1,59 +1,56 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -var assert = require('assert'); -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Admin', function() { - this.timeout(10000); - - it('Admin.reloadConfig', function(done) { - TestHelper.initBasic(() => { + test('Admin.reloadConfig', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().reloadConfig( function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.recycleDatabaseConnection', function(done) { - TestHelper.initBasic(() => { + test('Admin.recycleDatabaseConnection', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().recycleDatabaseConnection( function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.getComplianceReports', function(done) { - TestHelper.initBasic(() => { + test('Admin.getComplianceReports', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().getComplianceReports( function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.saveComplianceReports', function(done) { - TestHelper.initBasic(() => { + test('Admin.saveComplianceReports', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var job = {}; @@ -66,97 +63,97 @@ describe('Client.Admin', function() { TestHelper.basicClient().saveComplianceReports( job, function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.getLogs', function(done) { - TestHelper.initBasic(() => { + test('Admin.getLogs', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().getLogs( function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.getServerAudits', function(done) { - TestHelper.initBasic(() => { + test('Admin.getServerAudits', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().getServerAudits( function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.getConfig', function(done) { - TestHelper.initBasic(() => { + test('Admin.getConfig', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().getConfig( function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.getAnalytics', function(done) { - TestHelper.initBasic(() => { + test('Admin.getAnalytics', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().getAnalytics( 'standard', null, function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.getTeamAnalytics', function(done) { - TestHelper.initBasic(() => { + test('Admin.getTeamAnalytics', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().getTeamAnalytics( TestHelper.basicTeam().id, 'standard', function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.saveConfig', function(done) { - TestHelper.initBasic(() => { + test('Admin.saveConfig', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var config = {}; config.site_name = 'test'; @@ -164,18 +161,18 @@ describe('Client.Admin', function() { TestHelper.basicClient().saveConfig( config, function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.testEmail', function(done) { - TestHelper.initBasic(() => { + test('Admin.testEmail', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var config = {}; config.site_name = 'test'; @@ -183,35 +180,35 @@ describe('Client.Admin', function() { TestHelper.basicClient().testEmail( config, function() { - done(new Error('should need system admin permissions')); + done.fail(new Error('should need system admin permissions')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.adminResetMfa', function(done) { - TestHelper.initBasic(() => { + test('Admin.adminResetMfa', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().adminResetMfa( TestHelper.basicUser().id, function() { - done(new Error('should need a license')); + done.fail(new Error('should need a license')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.adminResetPassword', function(done) { - TestHelper.initBasic(() => { + test('Admin.adminResetPassword', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var user = TestHelper.basicUser(); @@ -223,44 +220,44 @@ describe('Client.Admin', function() { }, function(err) { // this should fail since you're not a system admin - assert.equal(err.id, 'api.context.invalid_param.app_error'); + expect(err.id).toBe('api.context.invalid_param.app_error'); done(); } ); }); }); - it('License.getClientLicenceConfig', function(done) { - TestHelper.initBasic(() => { + test('License.getClientLicenceConfig', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getClientLicenceConfig( function(data) { - assert.equal(data.IsLicensed, 'false'); + expect(data.IsLicensed).toBe('false'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('License.removeLicenseFile', function(done) { - TestHelper.initBasic(() => { + test('License.removeLicenseFile', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().removeLicenseFile( function() { - done(new Error('not enabled')); + done.fail(new Error('not enabled')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); }); - it('Admin.ldapSyncNow', function(done) { - TestHelper.initBasic(() => { + test('Admin.ldapSyncNow', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().ldapSyncNow( @@ -275,20 +272,20 @@ describe('Client.Admin', function() { }); }); - /*it('License.uploadLicenseFile', function(done) { - TestHelper.initBasic(() => { + test.skip('License.uploadLicenseFile', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().uploadLicenseFile( 'form data', function() { - done(new Error('not enabled')); + done.fail(new Error('not enabled')); }, function(err) { - assert.equal(err.id, 'api.context.permissions.app_error'); + expect(err.id).toBe('api.context.permissions.app_error'); done(); } ); }); - });*/ + }); }); diff --git a/webapp/tests/client_channel.test.jsx b/webapp/tests/client/client_channel.test.jsx similarity index 61% rename from webapp/tests/client_channel.test.jsx rename to webapp/tests/client/client_channel.test.jsx index e1ee6cf6d6..dae70bca2f 100644 --- a/webapp/tests/client_channel.test.jsx +++ b/webapp/tests/client/client_channel.test.jsx @@ -1,55 +1,52 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Channels', function() { - this.timeout(100000); - - it('createChannel', function(done) { - TestHelper.initBasic(() => { + test('createChannel', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.fakeChannel(); channel.team_id = TestHelper.basicTeam().id; TestHelper.basicClient().createChannel( channel, function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.name, channel.name); + expect(data.id.length).toBeGreaterThan(0); + expect(data.name).toBe(channel.name); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('createDirectChannel', function(done) { - TestHelper.initBasic(() => { + test('createDirectChannel', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().createUser( TestHelper.fakeUser(), function(user2) { TestHelper.basicClient().createDirectChannel( user2.id, function(data) { - assert.equal(data.id.length > 0, true); + expect(data.id.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('createGroupChannel', function(done) { - TestHelper.initBasic(() => { + test('createGroupChannel', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().createUser( TestHelper.fakeUser(), (user1) => { @@ -59,84 +56,84 @@ describe('Client.Channels', function() { TestHelper.basicClient().createGroupChannel( [user2.id, user1.id], function(data) { - assert.equal(data.id.length > 0, true); + expect(data.id.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateChannel', function(done) { - TestHelper.initBasic(() => { + test('updateChannel', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); channel.display_name = 'changed'; TestHelper.basicClient().updateChannel( channel, function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.display_name, 'changed'); + expect(data.id.length).toBeGreaterThan(0); + expect(data.display_name).toEqual('changed'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateChannelHeader', function(done) { - TestHelper.initBasic(() => { + test('updateChannelHeader', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); channel.display_name = 'changed'; TestHelper.basicClient().updateChannelHeader( channel.id, 'new header', function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.header, 'new header'); + expect(data.id.length).toBeGreaterThan(0); + expect(data.header).toBe('new header'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateChannelPurpose', function(done) { - TestHelper.initBasic(() => { + test('updateChannelPurpose', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); channel.display_name = 'changed'; TestHelper.basicClient().updateChannelPurpose( channel.id, 'new purpose', function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.purpose, 'new purpose'); + expect(data.id.length).toBeGreaterThan(0); + expect(data.purpose).toEqual('new purpose'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateChannelNotifyProps', function(done) { - TestHelper.initBasic(() => { + test('updateChannelNotifyProps', function(done) { + TestHelper.initBasic(done, () => { var props = {}; props.channel_id = TestHelper.basicChannel().id; props.user_id = TestHelper.basicUser().id; @@ -144,34 +141,34 @@ describe('Client.Channels', function() { TestHelper.basicClient().updateChannelNotifyProps( props, function(data) { - assert.equal(data.desktop, 'all'); + expect(data.desktop).toEqual('all'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('leaveChannel', function(done) { - TestHelper.initBasic(() => { + test('leaveChannel', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); TestHelper.basicClient().leaveChannel( channel.id, function(data) { - assert.equal(data.id, channel.id); + expect(data.id).toEqual(channel.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('joinChannel', function(done) { - TestHelper.initBasic(() => { + test('joinChannel', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); TestHelper.basicClient().leaveChannel( channel.id, @@ -182,19 +179,19 @@ describe('Client.Channels', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('joinChannelByName', function(done) { - TestHelper.initBasic(() => { + test('joinChannelByName', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); TestHelper.basicClient().leaveChannel( channel.id, @@ -205,35 +202,35 @@ describe('Client.Channels', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('deleteChannel', function(done) { - TestHelper.initBasic(() => { + test('deleteChannel', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); TestHelper.basicClient().deleteChannel( channel.id, function(data) { - assert.equal(data.id, channel.id); + expect(data.id).toEqual(channel.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('viewChannel', function(done) { - TestHelper.initBasic(() => { + test('viewChannel', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); TestHelper.basicClient().viewChannel( channel.id, @@ -243,195 +240,195 @@ describe('Client.Channels', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateLastViewedAt', function(done) { - TestHelper.initBasic(() => { + test('updateLastViewedAt', function(done) { + TestHelper.initBasic(done, () => { var channel = TestHelper.basicChannel(); TestHelper.basicClient().updateLastViewedAt( channel.id, true, function(data) { - assert.equal(data.id, channel.id); + expect(data.id).toEqual(channel.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getChannels', function(done) { - TestHelper.initBasic(() => { + test('getChannels', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getChannels( function(data) { - assert.equal(data.length, 3); + expect(data.length).toBe(3); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getChannel', function(done) { - TestHelper.initBasic(() => { + test('getChannel', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getChannel( TestHelper.basicChannel().id, function(data) { - assert.equal(TestHelper.basicChannel().id, data.channel.id); + expect(TestHelper.basicChannel().id).toEqual(data.channel.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getMoreChannels', function(done) { - TestHelper.initBasic(() => { + test('getMoreChannels', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getMoreChannels( function(data) { - assert.equal(data.length, 0); + expect(data.length).toBe(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getMoreChannelsPage', function(done) { - TestHelper.initBasic(() => { + test('getMoreChannelsPage', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getMoreChannelsPage( 0, 100, function(data) { - assert.equal(data.length, 0); + expect(data.length).toBe(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('searchMoreChannels', function(done) { - TestHelper.initBasic(() => { + test('searchMoreChannels', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().searchMoreChannels( 'blargh', function(data) { - assert.equal(data.length, 0); + expect(data.length).toBe(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('autocompleteChannels', function(done) { - TestHelper.initBasic(() => { + test('autocompleteChannels', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().autocompleteChannels( TestHelper.basicChannel().name, function(data) { - assert.equal(data != null, true); + expect(data).not.toBeNull(); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getChannelCounts', function(done) { - TestHelper.initBasic(() => { + test('getChannelCounts', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getChannelCounts( function(data) { - assert.equal(data.counts[TestHelper.basicChannel().id], 1); + expect(data.counts[TestHelper.basicChannel().id]).toBe(1); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getMyChannelMembers', function(done) { - TestHelper.initBasic(() => { + test('getMyChannelMembers', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getMyChannelMembers( function(data) { - assert.equal(data.length > 0, true); + expect(data.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getMyChannelMembersForTeam', function(done) { - TestHelper.initBasic(() => { + test('getMyChannelMembersForTeam', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getMyChannelMembersForTeam( TestHelper.basicTeam().id, function(data) { - assert.equal(data.length > 0, true); + expect(data.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getChannelStats', function(done) { - TestHelper.initBasic(() => { + test('getChannelStats', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getChannelStats( TestHelper.basicChannel().id, function(data) { - assert.equal(data.member_count, 1); + expect(data.member_count).toBe(1); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getChannelMember', function(done) { - TestHelper.initBasic(() => { + test('getChannelMember', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getChannelMember( TestHelper.basicChannel().id, TestHelper.basicUser().id, function(data) { - assert.equal(data.channel_id, TestHelper.basicChannel().id); - assert.equal(data.user_id, TestHelper.basicUser().id); + expect(data.channel_id).toEqual(TestHelper.basicChannel().id); + expect(data.user_id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('addChannelMember', function(done) { - TestHelper.initBasic(() => { + test('addChannelMember', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().createUserWithInvite( TestHelper.fakeUser(), null, @@ -442,47 +439,47 @@ describe('Client.Channels', function() { TestHelper.basicChannel().id, user2.id, function(data) { - assert.equal(data.channel_id.length > 0, true); + expect(data.channel_id.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('removeChannelMember', function(done) { - TestHelper.initBasic(() => { + test('removeChannelMember', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().removeChannelMember( TestHelper.basicChannel().id, TestHelper.basicUser().id, function(data) { - assert.equal(data.channel_id.length > 0, true); + expect(data.channel_id.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getChannelByName', function(done) { - TestHelper.initBasic(() => { + test('getChannelByName', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getChannelByName( TestHelper.basicChannel().name, function(data) { - assert.equal(data.name, TestHelper.basicChannel().name); + expect(data.name).toEqual(TestHelper.basicChannel().name); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); diff --git a/webapp/tests/client_command.test.jsx b/webapp/tests/client/client_command.test.jsx similarity index 66% rename from webapp/tests/client_command.test.jsx rename to webapp/tests/client/client_command.test.jsx index e6795e5d77..0b5f4bbb20 100644 --- a/webapp/tests/client_command.test.jsx +++ b/webapp/tests/client/client_command.test.jsx @@ -1,61 +1,58 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Commands', function() { - this.timeout(100000); - - it('listCommands', function(done) { - TestHelper.initBasic(() => { + test('listCommands', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().listCommands( function(data) { - assert.equal(data.length > 0, true); + expect(data.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('listTeamCommands', function(done) { - TestHelper.initBasic(() => { + test('listTeamCommands', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().listTeamCommands( function() { - done(new Error('cmds not enabled')); + done.fail(new Error('cmds not enabled')); }, function(err) { - assert.equal(err.id, 'api.command.disabled.app_error'); + expect(err.id).toEqual('api.command.disabled.app_error'); done(); } ); }); }); - it('executeCommand', function(done) { - TestHelper.initBasic(() => { + test('executeCommand', function(done) { + TestHelper.initBasic(done, () => { const args = {}; args.channel_id = TestHelper.basicChannel().id; TestHelper.basicClient().executeCommand( '/shrug', args, function(data) { - assert.equal(data.response_type, 'in_channel'); + expect(data.response_type).toEqual('in_channel'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('addCommand', function(done) { - TestHelper.initBasic(() => { + test('addCommand', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var cmd = {}; @@ -72,18 +69,18 @@ describe('Client.Commands', function() { TestHelper.basicClient().addCommand( cmd, function() { - done(new Error('cmds not enabled')); + done.fail(new Error('cmds not enabled')); }, function(err) { - assert.equal(err.id, 'api.command.disabled.app_error'); + expect(err.id).toEqual('api.command.disabled.app_error'); done(); } ); }); }); - it('editCommand', function(done) { - TestHelper.initBasic(() => { + test('editCommand', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var cmd = {}; @@ -100,42 +97,42 @@ describe('Client.Commands', function() { TestHelper.basicClient().editCommand( cmd, function() { - done(new Error('cmds not enabled')); + done.fail(new Error('cmds not enabled')); }, function(err) { - assert.equal(err.id, 'api.command.disabled.app_error'); + expect(err.id).toEqual('api.command.disabled.app_error'); done(); } ); }); }); - it('deleteCommand', function(done) { - TestHelper.initBasic(() => { + test('deleteCommand', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().deleteCommand( TestHelper.generateId(), function() { - done(new Error('cmds not enabled')); + done.fail(new Error('cmds not enabled')); }, function(err) { - assert.equal(err.id, 'api.command.disabled.app_error'); + expect(err.id).toEqual('api.command.disabled.app_error'); done(); } ); }); }); - it('regenCommandToken', function(done) { - TestHelper.initBasic(() => { + test('regenCommandToken', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().regenCommandToken( TestHelper.generateId(), function() { - done(new Error('cmds not enabled')); + done.fail(new Error('cmds not enabled')); }, function(err) { - assert.equal(err.id, 'api.command.disabled.app_error'); + expect(err.id).toEqual('api.command.disabled.app_error'); done(); } ); diff --git a/webapp/tests/client_emoji.test.jsx b/webapp/tests/client/client_emoji.test.jsx similarity index 72% rename from webapp/tests/client_emoji.test.jsx rename to webapp/tests/client/client_emoji.test.jsx index ddded4ff8a..da7fab7117 100644 --- a/webapp/tests/client_emoji.test.jsx +++ b/webapp/tests/client/client_emoji.test.jsx @@ -1,50 +1,47 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; const fs = require('fs'); describe('Client.Emoji', function() { - this.timeout(100000); - const testGifFileName = 'testEmoji.gif'; - before(function() { + beforeAll(function() { // write a temporary file so that we have something to upload for testing const buffer = new Buffer('R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=', 'base64'); const testGif = fs.openSync(testGifFileName, 'w+'); fs.writeFileSync(testGif, buffer); }); - after(function() { + afterAll(function() { fs.unlinkSync(testGifFileName); }); - it('addEmoji', function(done) { - TestHelper.initBasic(() => { + test('addEmoji', function(done) { + TestHelper.initBasic(done, () => { const name = TestHelper.generateId(); TestHelper.basicClient().addEmoji( {creator_id: TestHelper.basicUser().id, name}, fs.createReadStream(testGifFileName), function(data) { - assert.equal(data.name, name); - assert.notEqual(data.id, null); + expect(data.name).toEqual(name); + expect(data.id).not.toBeNull(); - TestHelper.basicClient().deleteEmoji(data.id); + //TestHelper.basicClient().deleteEmoji(data.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('deleteEmoji', function(done) { - TestHelper.initBasic(() => { + test('deleteEmoji', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().addEmoji( {creator_id: TestHelper.basicUser().id, name: TestHelper.generateId()}, fs.createReadStream(testGifFileName), @@ -55,19 +52,19 @@ describe('Client.Emoji', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('listEmoji', function(done) { - TestHelper.initBasic(() => { + test('listEmoji', function(done) { + TestHelper.initBasic(done, () => { const name = TestHelper.generateId(); TestHelper.basicClient().addEmoji( {creator_id: TestHelper.basicUser().id, name}, @@ -75,7 +72,7 @@ describe('Client.Emoji', function() { function() { TestHelper.basicClient().listEmoji( function(data) { - assert(data.length > 0, true); + expect(data.length).toBeGreaterThan(0); let found = false; for (const emoji of data) { @@ -88,16 +85,16 @@ describe('Client.Emoji', function() { if (found) { done(); } else { - done(new Error('test emoji wasn\'t returned')); + done.fail(new Error('test emoji wasn\'t returned')); } }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); diff --git a/webapp/tests/client_file.test.jsx b/webapp/tests/client/client_file.test.jsx similarity index 71% rename from webapp/tests/client_file.test.jsx rename to webapp/tests/client/client_file.test.jsx index 171df701b5..aa0704b5ab 100644 --- a/webapp/tests/client_file.test.jsx +++ b/webapp/tests/client/client_file.test.jsx @@ -1,17 +1,14 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; const fs = require('fs'); describe('Client.File', function() { - this.timeout(100000); - const testGifFileName = 'testFile.gif'; - before(function() { + beforeAll(function() { // write a temporary file so that we have something to upload for testing const buffer = new Buffer('R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=', 'base64'); @@ -19,12 +16,12 @@ describe('Client.File', function() { fs.writeFileSync(testGif, buffer); }); - after(function() { + afterAll(function() { fs.unlinkSync(testGifFileName); }); - it('uploadFile', function(done) { - TestHelper.initBasic(() => { + test('uploadFile', function(done) { + TestHelper.initBasic(done, () => { const clientId = TestHelper.generateId(); TestHelper.basicClient().uploadFile( @@ -33,21 +30,21 @@ describe('Client.File', function() { TestHelper.basicChannel().id, clientId, function(resp) { - assert.equal(resp.file_infos.length, 1); - assert.equal(resp.client_ids.length, 1); - assert.equal(resp.client_ids[0], clientId); + expect(resp.file_infos.length).toBe(1); + expect(resp.client_ids.length).toBe(1); + expect(resp.client_ids[0]).toEqual(clientId); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getFile', function(done) { - TestHelper.initBasic(() => { + test('getFile', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().uploadFile( fs.createReadStream(testGifFileName), testGifFileName, @@ -60,19 +57,19 @@ describe('Client.File', function() { done(); }, function(err2) { - done(new Error(err2.message)); + done.fail(new Error(err2.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getFileThumbnail', function(done) { - TestHelper.initBasic(() => { + test('getFileThumbnail', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().uploadFile( fs.createReadStream(testGifFileName), testGifFileName, @@ -85,19 +82,19 @@ describe('Client.File', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getFilePreview', function(done) { - TestHelper.initBasic(() => { + test('getFilePreview', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().uploadFile( fs.createReadStream(testGifFileName), testGifFileName, @@ -110,19 +107,19 @@ describe('Client.File', function() { done(); }, function(err2) { - done(new Error(err2.message)); + done.fail(new Error(err2.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getFileInfo', function(done) { - TestHelper.initBasic(() => { + test('getFileInfo', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().uploadFile( fs.createReadStream(testGifFileName), testGifFileName, @@ -134,25 +131,26 @@ describe('Client.File', function() { TestHelper.basicClient().getFileInfo( fileId, function(info) { - assert.equal(info.id, fileId); - assert.equal(info.name, testGifFileName); + expect(info.id).toEqual(fileId); + expect(info.name).toEqual(testGifFileName); done(); }, function(err2) { - done(new Error(err2.message)); + done.fail(new Error(err2.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPublicLink', function(done) { - TestHelper.initBasic(() => { + test('getPublicLink', function(done) { + TestHelper.initBasic(done, () => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().uploadFile( fs.createReadStream(testGifFileName), testGifFileName, @@ -166,12 +164,12 @@ describe('Client.File', function() { TestHelper.basicClient().createPost( post, function(data) { - assert.deepEqual(data.file_ids, post.file_ids); + expect(data.file_ids).toEqual(post.file_ids); TestHelper.basicClient().getPublicLink( post.file_ids[0], function() { - done(new Error('public links should be disabled by default')); + done.fail(new Error('public links should be disabled by default')); // request. // get(link). @@ -182,31 +180,31 @@ describe('Client.File', function() { // done(); // }, // function(err4) { - // done(new Error(err4.message)); + // done.fail(new Error(err4.message)); // } // )); }, function() { done(); - // done(new Error(err3.message)); + // done.fail(new Error(err3.message)); } ); }, function(err2) { - done(new Error(err2.message)); + done.fail(new Error(err2.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getFileInfosForPost', function(done) { - TestHelper.initBasic(() => { + test('getFileInfosForPost', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().uploadFile( fs.createReadStream(testGifFileName), testGifFileName, @@ -220,29 +218,29 @@ describe('Client.File', function() { TestHelper.basicClient().createPost( post, function(data) { - assert.deepEqual(data.file_ids, post.file_ids); + expect(data.file_ids).toEqual(post.file_ids); TestHelper.basicClient().getFileInfosForPost( post.channel_id, data.id, function(files) { - assert.equal(files.length, 1); - assert.equal(files[0].id, resp.file_infos[0].id); + expect(files.length).toBe(1); + expect(files[0].id).toEqual(resp.file_infos[0].id); done(); }, function(err3) { - done(new Error(err3.message)); + done.fail(new Error(err3.message)); } ); }, function(err2) { - done(new Error(err2.message)); + done.fail(new Error(err2.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); diff --git a/webapp/tests/client_general.test.jsx b/webapp/tests/client/client_general.test.jsx similarity index 56% rename from webapp/tests/client_general.test.jsx rename to webapp/tests/client/client_general.test.jsx index 709583c11e..ddfb9d4ca2 100644 --- a/webapp/tests/client_general.test.jsx +++ b/webapp/tests/client/client_general.test.jsx @@ -1,42 +1,39 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -var assert = require('assert'); -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.General', function() { - this.timeout(10000); - - it('General.getClientConfig', function(done) { - TestHelper.initBasic(() => { + test('General.getClientConfig', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getClientConfig( function(data) { - assert.equal(data.SiteName, 'Mattermost'); + expect(data.SiteName).toEqual('Mattermost'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('General.getPing', function(done) { - TestHelper.initBasic(() => { + test('General.getPing', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getPing( function(data) { - assert.equal(data.version.length > 0, true); + expect(data.version.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('General.logClientError', function(done) { - TestHelper.initBasic(() => { + test('General.logClientError', function(done) { + TestHelper.initBasic(done, () => { var config = {}; config.site_name = 'test'; TestHelper.basicClient().logClientError('this is a test'); diff --git a/webapp/tests/client_hooks.test.jsx b/webapp/tests/client/client_hooks.test.jsx similarity index 65% rename from webapp/tests/client_hooks.test.jsx rename to webapp/tests/client/client_hooks.test.jsx index db72bce184..79aa0b53d1 100644 --- a/webapp/tests/client_hooks.test.jsx +++ b/webapp/tests/client/client_hooks.test.jsx @@ -1,14 +1,11 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Hooks', function() { - this.timeout(100000); - - it('addIncomingHook', function(done) { - TestHelper.initBasic(() => { + test('addIncomingHook', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var hook = {}; @@ -19,18 +16,18 @@ describe('Client.Hooks', function() { TestHelper.basicClient().addIncomingHook( hook, function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.incoming_webhook.disabled.app_error'); + expect(err.id).toBe('api.incoming_webhook.disabled.app_error'); done(); } ); }); }); - it('updateIncomingHook', function(done) { - TestHelper.initBasic(() => { + test('updateIncomingHook', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var hook = {}; @@ -41,49 +38,49 @@ describe('Client.Hooks', function() { TestHelper.basicClient().updateIncomingHook( hook, function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.incoming_webhook.disabled.app_error'); + expect(err.id).toBe('api.incoming_webhook.disabled.app_error'); done(); } ); }); }); - it('deleteIncomingHook', function(done) { - TestHelper.initBasic(() => { + test('deleteIncomingHook', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().deleteIncomingHook( TestHelper.generateId(), function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.incoming_webhook.disabled.app_error'); + expect(err.id).toBe('api.incoming_webhook.disabled.app_error'); done(); } ); }); }); - it('listIncomingHooks', function(done) { - TestHelper.initBasic(() => { + test('listIncomingHooks', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().listIncomingHooks( function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.incoming_webhook.disabled.app_error'); + expect(err.id).toBe('api.incoming_webhook.disabled.app_error'); done(); } ); }); }); - it('addOutgoingHook', function(done) { - TestHelper.initBasic(() => { + test('addOutgoingHook', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var hook = {}; @@ -94,65 +91,65 @@ describe('Client.Hooks', function() { TestHelper.basicClient().addOutgoingHook( hook, function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.outgoing_webhook.disabled.app_error'); + expect(err.id).toBe('api.outgoing_webhook.disabled.app_error'); done(); } ); }); }); - it('deleteOutgoingHook', function(done) { - TestHelper.initBasic(() => { + test('deleteOutgoingHook', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().deleteOutgoingHook( TestHelper.generateId(), function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.outgoing_webhook.disabled.app_error'); + expect(err.id).toBe('api.outgoing_webhook.disabled.app_error'); done(); } ); }); }); - it('listOutgoingHooks', function(done) { - TestHelper.initBasic(() => { + test('listOutgoingHooks', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().listOutgoingHooks( function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.outgoing_webhook.disabled.app_error'); + expect(err.id).toBe('api.outgoing_webhook.disabled.app_error'); done(); } ); }); }); - it('regenOutgoingHookToken', function(done) { - TestHelper.initBasic(() => { + test('regenOutgoingHookToken', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().regenOutgoingHookToken( TestHelper.generateId(), function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.outgoing_webhook.disabled.app_error'); + expect(err.id).toBe('api.outgoing_webhook.disabled.app_error'); done(); } ); }); }); - it('updateOutgoingHook', function(done) { - TestHelper.initBasic(() => { + test('updateOutgoingHook', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var hook = {}; @@ -163,10 +160,10 @@ describe('Client.Hooks', function() { TestHelper.basicClient().updateOutgoingHook( hook, function() { - done(new Error('hooks not enabled')); + done.fail(new Error('hooks not enabled')); }, function(err) { - assert.equal(err.id, 'api.outgoing_webhook.disabled.app_error'); + expect(err.id).toBe('api.outgoing_webhook.disabled.app_error'); done(); } ); diff --git a/webapp/tests/client_oauth.test.jsx b/webapp/tests/client/client_oauth.test.jsx similarity index 67% rename from webapp/tests/client_oauth.test.jsx rename to webapp/tests/client/client_oauth.test.jsx index a9a6bd9199..555b384383 100644 --- a/webapp/tests/client_oauth.test.jsx +++ b/webapp/tests/client/client_oauth.test.jsx @@ -1,14 +1,11 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.OAuth', function() { - this.timeout(100000); - - it('registerOAuthApp', function(done) { - TestHelper.initBasic(() => { + test('registerOAuthApp', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var app = {}; @@ -20,18 +17,18 @@ describe('Client.OAuth', function() { TestHelper.basicClient().registerOAuthApp( app, function() { - done(new Error('not enabled')); + done.fail(new Error('not enabled')); }, function(err) { - assert.equal(err.id, 'api.oauth.register_oauth_app.turn_off.app_error'); + expect(err.id).toBe('api.oauth.register_oauth_app.turn_off.app_error'); done(); } ); }); }); - it('allowOAuth2', function(done) { - TestHelper.initBasic(() => { + test('allowOAuth2', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().allowOAuth2( @@ -41,10 +38,10 @@ describe('Client.OAuth', function() { 'state', 'scope', function() { - done(new Error('not enabled')); + done.fail(new Error('not enabled')); }, function(err) { - assert.equal(err.id, 'api.oauth.allow_oauth.turn_off.app_error'); + expect(err.id).toBe('api.oauth.allow_oauth.turn_off.app_error'); done(); } ); diff --git a/webapp/tests/client_post.test.jsx b/webapp/tests/client/client_post.test.jsx similarity index 65% rename from webapp/tests/client_post.test.jsx rename to webapp/tests/client/client_post.test.jsx index afe10931f5..bad72c8b0b 100644 --- a/webapp/tests/client_post.test.jsx +++ b/webapp/tests/client/client_post.test.jsx @@ -1,63 +1,60 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Posts', function() { - this.timeout(100000); - - it('createPost', function(done) { - TestHelper.initBasic(() => { + test('createPost', function(done) { + TestHelper.initBasic(done, () => { var post = TestHelper.fakePost(); post.channel_id = TestHelper.basicChannel().id; TestHelper.basicClient().createPost( post, function(data) { - assert.equal(data.id.length > 0, true); + expect(data.id.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPostById', function(done) { - TestHelper.initBasic(() => { + test('getPostById', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getPostById( TestHelper.basicPost().id, function(data) { - assert.equal(data.order[0], TestHelper.basicPost().id); + expect(data.order[0]).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPost', function(done) { - TestHelper.initBasic(() => { + test('getPost', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getPost( TestHelper.basicChannel().id, TestHelper.basicPost().id, function(data) { - assert.equal(data.order[0], TestHelper.basicPost().id); + expect(data.order[0]).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updatePost', function(done) { - TestHelper.initBasic(() => { + test('updatePost', function(done) { + TestHelper.initBasic(done, () => { var post = TestHelper.basicPost(); post.message = 'new message'; post.channel_id = TestHelper.basicChannel().id; @@ -65,83 +62,83 @@ describe('Client.Posts', function() { TestHelper.basicClient().updatePost( post, function(data) { - assert.equal(data.id.length > 0, true); + expect(data.id.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('deletePost', function(done) { - TestHelper.initBasic(() => { + test('deletePost', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().deletePost( TestHelper.basicChannel().id, TestHelper.basicPost().id, function(data) { - assert.equal(data.id, TestHelper.basicPost().id); + expect(data.id).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('searchPost', function(done) { - TestHelper.initBasic(() => { + test('searchPost', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().search( 'unit test', false, function(data) { - assert.equal(data.order[0], TestHelper.basicPost().id); + expect(data.order[0]).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPostsPage', function(done) { - TestHelper.initBasic(() => { + test('getPostsPage', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getPostsPage( TestHelper.basicChannel().id, 0, 10, function(data) { - assert.equal(data.order[0], TestHelper.basicPost().id); + expect(data.order[0]).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPosts', function(done) { - TestHelper.initBasic(() => { + test('getPosts', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getPosts( TestHelper.basicChannel().id, 0, function(data) { - assert.equal(data.order[0], TestHelper.basicPost().id); + expect(data.order[0]).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPostsBefore', function(done) { - TestHelper.initBasic(() => { + test('getPostsBefore', function(done) { + TestHelper.initBasic(done, () => { var post = TestHelper.fakePost(); post.channel_id = TestHelper.basicChannel().id; @@ -154,23 +151,23 @@ describe('Client.Posts', function() { 0, 10, function(data) { - assert.equal(data.order[0], TestHelper.basicPost().id); + expect(data.order[0]).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPostsAfter', function(done) { - TestHelper.initBasic(() => { + test('getPostsAfter', function(done) { + TestHelper.initBasic(done, () => { var post = TestHelper.fakePost(); post.channel_id = TestHelper.basicChannel().id; @@ -183,23 +180,23 @@ describe('Client.Posts', function() { 0, 10, function(data) { - assert.equal(data.order[0], rpost.id); + expect(data.order[0]).toEqual(rpost.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getFlaggedPosts', function(done) { - TestHelper.initBasic(() => { + test('getFlaggedPosts', function(done) { + TestHelper.initBasic(done, () => { var pref = {}; pref.user_id = TestHelper.basicUser().id; pref.category = 'flagged_post'; @@ -216,16 +213,16 @@ describe('Client.Posts', function() { 0, 2, function(data) { - assert.equal(data.order[0], TestHelper.basicPost().id); + expect(data.order[0]).toEqual(TestHelper.basicPost().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); diff --git a/webapp/tests/client_preferences.test.jsx b/webapp/tests/client/client_preferences.test.jsx similarity index 57% rename from webapp/tests/client_preferences.test.jsx rename to webapp/tests/client/client_preferences.test.jsx index 95b026bfc1..9a8f75b950 100644 --- a/webapp/tests/client_preferences.test.jsx +++ b/webapp/tests/client/client_preferences.test.jsx @@ -1,29 +1,26 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Preferences', function() { - this.timeout(100000); - - it('getAllPreferences', function(done) { - TestHelper.initBasic(() => { + test('getAllPreferences', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getAllPreferences( function(data) { - assert.equal(data[0].category, 'tutorial_step'); - assert.equal(data[0].user_id, TestHelper.basicUser().id); + expect(data[0].category).toBe('tutorial_step'); + expect(data[0].user_id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('savePreferences', function(done) { - TestHelper.initBasic(() => { + test('savePreferences', function(done) { + TestHelper.initBasic(done, () => { var perf = {}; perf.user_id = TestHelper.basicUser().id; perf.category = 'test'; @@ -36,27 +33,27 @@ describe('Client.Preferences', function() { TestHelper.basicClient().savePreferences( perfs, function(data) { - assert.equal(data, true); + expect(data).toBe(true); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getPreferenceCategory', function(done) { - TestHelper.initBasic(() => { + test('getPreferenceCategory', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getPreferenceCategory( 'tutorial_step', function(data) { - assert.equal(data[0].category, 'tutorial_step'); - assert.equal(data[0].user_id, TestHelper.basicUser().id); + expect(data[0].category).toBe('tutorial_step'); + expect(data[0].user_id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); diff --git a/webapp/tests/client_reaction.test.jsx b/webapp/tests/client/client_reaction.test.jsx similarity index 79% rename from webapp/tests/client_reaction.test.jsx rename to webapp/tests/client/client_reaction.test.jsx index fba3fd43bc..a7b1f3389c 100644 --- a/webapp/tests/client_reaction.test.jsx +++ b/webapp/tests/client/client_reaction.test.jsx @@ -1,13 +1,11 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Reaction', function() { - this.timeout(100000); - - it('saveListReaction', function(done) { - TestHelper.initBasic(() => { + test('saveListReaction', function(done) { + TestHelper.initBasic(done, () => { const channelId = TestHelper.basicChannel().id; const postId = TestHelper.basicPost().id; @@ -31,23 +29,23 @@ describe('Client.Reaction', function() { reactions[0].emoji_name === reaction.emoji_name) { done(); } else { - done(new Error('test reaction wasn\'t returned')); + done.fail(new Error('test reaction wasn\'t returned')); } }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('deleteReaction', function(done) { - TestHelper.initBasic(() => { + test('deleteReaction', function(done) { + TestHelper.initBasic(done, () => { const channelId = TestHelper.basicChannel().id; const postId = TestHelper.basicPost().id; @@ -68,12 +66,12 @@ describe('Client.Reaction', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); diff --git a/webapp/tests/client_team.test.jsx b/webapp/tests/client/client_team.test.jsx similarity index 58% rename from webapp/tests/client_team.test.jsx rename to webapp/tests/client/client_team.test.jsx index 20610f6760..76bdd2776c 100644 --- a/webapp/tests/client_team.test.jsx +++ b/webapp/tests/client/client_team.test.jsx @@ -1,168 +1,165 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.Team', function() { - this.timeout(100000); - - it('findTeamByName', function(done) { - TestHelper.initBasic(() => { + test('findTeamByName', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().findTeamByName( TestHelper.basicTeam().name, function(data) { - assert.equal(data, true); + expect(data).toBe(true); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('createTeam', function(done) { + test('createTeam', function(done) { var team = TestHelper.fakeTeam(); - TestHelper.initBasic(() => { + TestHelper.initBasic(done, () => { TestHelper.basicClient().createTeam( team, function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.name, team.name); + expect(data.id.length).toBeGreaterThan(0); + expect(data.name).toEqual(team.name); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getAllTeams', function(done) { - TestHelper.initBasic(() => { + test('getAllTeams', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getAllTeams( function(data) { - assert.equal(data[TestHelper.basicTeam().id].name, TestHelper.basicTeam().name); + expect(data[TestHelper.basicTeam().id].name).toEqual(TestHelper.basicTeam().name); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getAllTeamListings', function(done) { - TestHelper.initBasic(() => { + test('getAllTeamListings', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getAllTeamListings( function(data) { - assert.equal(data != null, true); + expect(data).not.toBeNull(); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getMyTeam', function(done) { - TestHelper.initBasic(() => { + test('getMyTeam', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getMyTeam( function(data) { - assert.equal(data.name, TestHelper.basicTeam().name); + expect(data.name).toEqual(TestHelper.basicTeam().name); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getMyTeamMembers', function(done) { - TestHelper.initBasic(() => { + test('getMyTeamMembers', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getMyTeamMembers( function(data) { - assert.equal(data.length > 0, true); + expect(data.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getTeamMembers', function(done) { - TestHelper.initBasic(() => { + test('getTeamMembers', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getTeamMembers( TestHelper.basicTeam().id, 0, 100, function(data) { - assert.equal(data.length > 0, true); + expect(data.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getTeamMember', function(done) { - TestHelper.initBasic(() => { + test('getTeamMember', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getTeamMember( TestHelper.basicTeam().id, TestHelper.basicUser().id, function(data) { - assert.equal(data.user_id, TestHelper.basicUser().id); - assert.equal(data.team_id, TestHelper.basicTeam().id); + expect(data.user_id).toEqual(TestHelper.basicUser().id); + expect(data.team_id).toEqual(TestHelper.basicTeam().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getTeamStats', function(done) { - TestHelper.initBasic(() => { + test('getTeamStats', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getTeamStats( TestHelper.basicTeam().id, function(data) { - assert.equal(data.total_member_count > 0, true); + expect(data.total_member_count).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getTeamMembersByIds', function(done) { - TestHelper.initBasic(() => { + test('getTeamMembersByIds', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getTeamMembersByIds( TestHelper.basicTeam().id, [TestHelper.basicUser().id], function(data) { - assert.equal(data[0].user_id, TestHelper.basicUser().id); - assert.equal(data[0].team_id, TestHelper.basicTeam().id); + expect(data[0].user_id).toEqual(TestHelper.basicUser().id); + expect(data[0].team_id).toEqual(TestHelper.basicTeam().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('inviteMembers', function(done) { - TestHelper.initBasic(() => { + test('inviteMembers', function(done) { + TestHelper.initBasic(done, () => { var data = {}; data.invites = []; var invite = {}; @@ -174,54 +171,54 @@ describe('Client.Team', function() { TestHelper.basicClient().inviteMembers( data, function(dataBack) { - assert.equal(dataBack.invites.length, 1); + expect(dataBack.invites.length).toBe(1); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateTeam', function(done) { - TestHelper.initBasic(() => { + test('updateTeam', function(done) { + TestHelper.initBasic(done, () => { var team = TestHelper.basicTeam(); team.display_name = 'test_updated'; TestHelper.basicClient().updateTeam( team, function(data) { - assert.equal(data.display_name, 'test_updated'); + expect(data.display_name).toBe('test_updated'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateTeamDescription', function(done) { - TestHelper.initBasic(() => { + test('updateTeamDescription', function(done) { + TestHelper.initBasic(done, () => { var team = TestHelper.basicTeam(); team.description = 'test_updated'; TestHelper.basicClient().updateTeam( team, function(data) { - assert.equal(data.description, 'test_updated'); + expect(data.description).toBe('test_updated'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('addUserToTeam', function(done) { - TestHelper.initBasic(() => { + test('addUserToTeam', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().createUser( TestHelper.fakeUser(), function(user2) { @@ -229,54 +226,54 @@ describe('Client.Team', function() { '', user2.id, function(data) { - assert.equal(data.user_id, user2.id); + expect(data.user_id).toEqual(user2.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('removeUserFromTeam', function(done) { - TestHelper.initBasic(() => { + test('removeUserFromTeam', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().removeUserFromTeam( '', TestHelper.basicUser().id, function(data) { - assert.equal(data.user_id, TestHelper.basicUser().id); + expect(data.user_id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getInviteInfo', function(done) { - TestHelper.initBasic(() => { + test('getInviteInfo', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getInviteInfo( TestHelper.basicTeam().invite_id, function(data) { - assert.equal(data.display_name.length > 0, true); + expect(data.display_name.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateTeamMemberRoles', function(done) { - TestHelper.initBasic(() => { + test('updateTeamMemberRoles', function(done) { + TestHelper.initBasic(done, () => { var user = TestHelper.basicUser(); var team = TestHelper.basicTeam(); @@ -288,23 +285,22 @@ describe('Client.Team', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getTeamByName', function(done) { - TestHelper.initBasic(() => { + test('getTeamByName', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getTeamByName( TestHelper.basicTeam().name, function(data) { - console.log(data); - assert.equal(data.name, TestHelper.basicTeam().name); + expect(data.name).toEqual(TestHelper.basicTeam().name); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); diff --git a/webapp/tests/client_user.test.jsx b/webapp/tests/client/client_user.test.jsx similarity index 62% rename from webapp/tests/client_user.test.jsx rename to webapp/tests/client/client_user.test.jsx index 643640b59d..5f299670de 100644 --- a/webapp/tests/client_user.test.jsx +++ b/webapp/tests/client/client_user.test.jsx @@ -1,102 +1,99 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import assert from 'assert'; -import TestHelper from './test_helper.jsx'; +import TestHelper from 'tests/helpers/client-test-helper.jsx'; describe('Client.User', function() { - this.timeout(100000); - - it('getMe', function(done) { - TestHelper.initBasic(() => { + test('getMe', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getMe( function(data) { - assert.equal(data.id, TestHelper.basicUser().id); + expect(data.id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getUser', function(done) { - TestHelper.initBasic(() => { + test('getUser', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getUser( TestHelper.basicUser().id, function(data) { - assert.equal(data.id, TestHelper.basicUser().id); + expect(data.id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getByUsername', function(done) { - TestHelper.initBasic(() => { + test('getByUsername', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getByUsername( TestHelper.basicUser().username, function(data) { - assert.equal(data.username, TestHelper.basicUser().username); + expect(data.username).toEqual(TestHelper.basicUser().username); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getByEmail', function(done) { - TestHelper.initBasic(() => { + test('getByEmail', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getByEmail( TestHelper.basicUser().email, function(data) { - assert.equal(data.email, TestHelper.basicUser().email); + expect(data.email).toEqual(TestHelper.basicUser().email); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getInitialLoad', function(done) { - TestHelper.initBasic(() => { + test('getInitialLoad', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getInitialLoad( function(data) { - assert.equal(data.user.id.length > 0, true); + expect(data.user.id.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('createUser', function(done) { + test('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); + expect(data.id.length).toBeGreaterThan(0); + expect(data.email).toEqual(user.email); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); - it('loginByEmail', function(done) { + test('loginByEmail', function(done) { var client = TestHelper.createClient(); var user = TestHelper.fakeUser(); client.createUser( @@ -107,49 +104,49 @@ describe('Client.User', function() { user.password, null, function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.email, user.email); + expect(data.id.length).toBeGreaterThan(0); + expect(data.email).toEqual(user.email); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); - it('loginById', function(done) { + test('loginById', function(done) { var client = TestHelper.createClient(); var user = TestHelper.fakeUser(); client.createUser( user, function(newUser) { - assert.equal(user.email, newUser.email); + expect(user.email).toEqual(newUser.email); client.loginById( newUser.id, user.password, null, function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.email, user.email); + expect(data.id.length).toBeGreaterThan(0); + expect(data.email).toEqual(user.email); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); - it('loginByUsername', function(done) { + test('loginByUsername', function(done) { var client = TestHelper.createClient(); var user = TestHelper.fakeUser(); client.createUser( @@ -160,41 +157,41 @@ describe('Client.User', function() { user.password, null, function(data) { - assert.equal(data.id.length > 0, true); - assert.equal(data.email, user.email); + expect(data.id.length).toBeGreaterThan(0); + expect(data.email).toEqual(user.email); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); - it('updateUser', function(done) { - TestHelper.initBasic(() => { + test('updateUser', function(done) { + TestHelper.initBasic(done, () => { var user = TestHelper.basicUser(); user.nickname = 'updated'; TestHelper.basicClient().updateUser( user, null, function(data) { - assert.equal(data.nickname, 'updated'); + expect(data.nickname).toBe('updated'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updatePassword', function(done) { - TestHelper.initBasic(() => { + test('updatePassword', function(done) { + TestHelper.initBasic(done, () => { var user = TestHelper.basicUser(); TestHelper.basicClient().updatePassword( @@ -202,18 +199,18 @@ describe('Client.User', function() { user.password, 'update_password', function(data) { - assert.equal(data.user_id, user.id); + expect(data.user_id).toEqual(user.id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateUserNotifyProps', function(done) { - TestHelper.initBasic(() => { + test('updateUserNotifyProps', function(done) { + TestHelper.initBasic(done, () => { var user = TestHelper.basicUser(); var notifyProps = { @@ -231,25 +228,26 @@ describe('Client.User', function() { TestHelper.basicClient().updateUserNotifyProps( notifyProps, function(data) { - assert.equal(data.notify_props.email, 'false'); + expect(data.notify_props.email).toBe('false'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateUserRoles', function(done) { - TestHelper.initBasic(() => { + test('updateUserRoles', function(done) { + TestHelper.initBasic(done, () => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var user = TestHelper.basicUser(); TestHelper.basicClient().updateUserRoles( user.id, '', function() { - done(new Error('Not supposed to work')); + done.fail(new Error('Not supposed to work')); }, function() { done(); @@ -258,43 +256,43 @@ describe('Client.User', function() { }); }); - it('updateActive', function(done) { - TestHelper.initBasic(() => { + test('updateActive', function(done) { + TestHelper.initBasic(done, () => { const user = TestHelper.basicUser(); TestHelper.basicClient().updateActive( user.id, false, function(data) { - assert.ok(data.delete_at > 0); + expect(data.delete_at).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('sendPasswordReset', function(done) { - TestHelper.initBasic(() => { + test('sendPasswordReset', function(done) { + TestHelper.initBasic(done, () => { var user = TestHelper.basicUser(); TestHelper.basicClient().sendPasswordReset( user.email, function(data) { - assert.equal(data.email, user.email); + expect(data.email).toEqual(user.email); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('resetPassword', function(done) { - TestHelper.initBasic(() => { + test('resetPassword', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().resetPassword( @@ -305,15 +303,15 @@ describe('Client.User', function() { }, function(err) { // this should fail since you're not a system admin - assert.equal(err.id, 'api.context.invalid_param.app_error'); + expect(err.id).toBe('api.context.invalid_param.app_error'); done(); } ); }); }); - it('emailToOAuth', function(done) { - TestHelper.initBasic(() => { + test('emailToOAuth', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var user = TestHelper.basicUser(); @@ -327,33 +325,33 @@ describe('Client.User', function() { }, function(err) { // this should fail since you're not a system admin - assert.equal(err.id, 'api.user.check_user_password.invalid.app_error'); + expect(err.id).toBe('api.user.check_user_password.invalid.app_error'); done(); } ); }); }); - it('oauthToEmail', function(done) { - TestHelper.initBasic(() => { + test('oauthToEmail', function(done) { + TestHelper.initBasic(done, () => { var user = TestHelper.basicUser(); TestHelper.basicClient().oauthToEmail( user.email, 'new_password', function(data) { - assert.equal(data.follow_link.length > 0, true); + expect(data.follow_link.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('emailToLdap', function(done) { - TestHelper.initBasic(() => { + test('emailToLdap', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var user = TestHelper.basicUser(); @@ -373,8 +371,8 @@ describe('Client.User', function() { }); }); - it('ldapToEmail', function(done) { - TestHelper.initBasic(() => { + test('ldapToEmail', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error var user = TestHelper.basicUser(); @@ -387,47 +385,48 @@ describe('Client.User', function() { throw Error('shouldnt work'); }, function(err) { - assert.equal(err.id, 'api.user.ldap_to_email.not_ldap_account.app_error'); + expect(err.id).toBe('api.user.ldap_to_email.not_ldap_account.app_error'); done(); } ); }); }); - it('logout', function(done) { - TestHelper.initBasic(() => { + test('logout', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().logout( function(data) { - assert.equal(data.user_id, TestHelper.basicUser().id); + expect(data.user_id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('checkMfa', function(done) { - TestHelper.initBasic(() => { + test('checkMfa', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().checkMfa( TestHelper.generateId(), function(data) { - assert.equal(data.mfa_required, 'false'); + expect(data.mfa_required).toBe('false'); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('generateMfaSecret', function(done) { - TestHelper.initBasic(() => { + test('generateMfaSecret', function(done) { + TestHelper.initBasic(done, () => { + TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().generateMfaSecret( function() { - done(new Error('not enabled')); + done.fail(new Error('not enabled')); }, function() { done(); @@ -436,224 +435,224 @@ describe('Client.User', function() { }); }); - it('getSessions', function(done) { - TestHelper.initBasic(() => { + test('getSessions', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getSessions( TestHelper.basicUser().id, function(data) { - assert.equal(data[0].user_id, TestHelper.basicUser().id); + expect(data[0].user_id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('revokeSession', function(done) { - TestHelper.initBasic(() => { + test('revokeSession', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getSessions( TestHelper.basicUser().id, function(sessions) { TestHelper.basicClient().revokeSession( sessions[0].id, function(data) { - assert.equal(data.id, sessions[0].id); + expect(data.id).toEqual(sessions[0].id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getAudits', function(done) { - TestHelper.initBasic(() => { + test('getAudits', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getAudits( TestHelper.basicUser().id, function(data) { - assert.equal(data[0].user_id, TestHelper.basicUser().id); + expect(data[0].user_id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getProfiles', function(done) { - TestHelper.initBasic(() => { + test('getProfiles', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getProfiles( 0, 100, function(data) { - assert.equal(Object.keys(data).length > 0, true); + expect(Object.keys(data).length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getProfilesInTeam', function(done) { - TestHelper.initBasic(() => { + test('getProfilesInTeam', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getProfilesInTeam( TestHelper.basicTeam().id, 0, 100, function(data) { - assert.equal(data[TestHelper.basicUser().id].id, TestHelper.basicUser().id); + expect(data[TestHelper.basicUser().id].id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getProfilesByIds', function(done) { - TestHelper.initBasic(() => { + test('getProfilesByIds', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getProfilesByIds( [TestHelper.basicUser().id], function(data) { - assert.equal(data[TestHelper.basicUser().id].id, TestHelper.basicUser().id); + expect(data[TestHelper.basicUser().id].id).toEqual(TestHelper.basicUser().id); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getProfilesInChannel', function(done) { - TestHelper.initBasic(() => { + test('getProfilesInChannel', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getProfilesInChannel( TestHelper.basicChannel().id, 0, 100, function(data) { - assert.equal(Object.keys(data).length > 0, true); + expect(Object.keys(data).length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getProfilesNotInChannel', function(done) { - TestHelper.initBasic(() => { + test('getProfilesNotInChannel', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().getProfilesNotInChannel( TestHelper.basicChannel().id, 0, 100, function(data) { - assert.equal(Object.keys(data).length > 0, false); + expect(Object.keys(data).length).not.toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('searchUsers', function(done) { - TestHelper.initBasic(() => { + test('searchUsers', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().searchUsers( 'uid', TestHelper.basicTeam().id, {}, function(data) { - assert.equal(data.length > 0, true); + expect(data.length).toBeGreaterThan(0); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('autocompleteUsersInChannel', function(done) { - TestHelper.initBasic(() => { + test('autocompleteUsersInChannel', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().autocompleteUsersInChannel( 'uid', TestHelper.basicChannel().id, function(data) { - assert.equal(data != null, true); + expect(data).not.toBeNull(); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('autocompleteUsersInTeam', function(done) { - TestHelper.initBasic(() => { + test('autocompleteUsersInTeam', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().autocompleteUsersInTeam( 'uid', function(data) { - assert.equal(data != null, true); + expect(data).not.toBeNull(); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('autocompleteUsers', function(done) { - TestHelper.initBasic(() => { + test('autocompleteUsers', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().autocompleteUsers( 'uid', function(data) { - assert.equal(data != null, true); + expect(data).not.toBeNull(); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('getStatusesByIds', function(done) { - TestHelper.initBasic(() => { + test('getStatusesByIds', function(done) { + TestHelper.initBasic(done, () => { var ids = []; ids.push(TestHelper.basicUser().id); TestHelper.basicClient().getStatusesByIds( ids, function(data) { - assert.equal(data[TestHelper.basicUser().id] != null, true); + expect(data[TestHelper.basicUser().id]).not.toBeNull(); done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('setActiveChannel', function(done) { - TestHelper.initBasic(() => { + test('setActiveChannel', function(done) { + TestHelper.initBasic(done, () => { var ids = []; ids.push(TestHelper.basicUser().id); @@ -663,31 +662,31 @@ describe('Client.User', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('verifyEmail', function(done) { - TestHelper.initBasic(() => { + test('verifyEmail', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().verifyEmail( 'junk', 'junk', function() { - done(new Error('should be invalid')); + done.fail(new Error('should be invalid')); }, function(err) { - assert.equal(err.id, 'api.context.invalid_param.app_error'); + expect(err.id).toBe('api.context.invalid_param.app_error'); done(); } ); }); }); - it('resendVerification', function(done) { - TestHelper.initBasic(() => { + test('resendVerification', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().resendVerification( TestHelper.basicUser().email, @@ -695,20 +694,20 @@ describe('Client.User', function() { done(); }, function(err) { - done(new Error(err.message)); + done.fail(new Error(err.message)); } ); }); }); - it('updateMfa', function(done) { - TestHelper.initBasic(() => { + test('updateMfa', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicClient().enableLogErrorsToConsole(false); // Disabling since this unit test causes an error TestHelper.basicClient().updateMfa( 'junk', true, function() { - done(new Error('not enabled')); + done.fail(new Error('not enabled')); }, function() { done(); diff --git a/webapp/tests/client_websocket.test.jsx b/webapp/tests/client/client_websocket.test.jsx similarity index 60% rename from webapp/tests/client_websocket.test.jsx rename to webapp/tests/client/client_websocket.test.jsx index 6535610e38..9a754c345b 100644 --- a/webapp/tests/client_websocket.test.jsx +++ b/webapp/tests/client/client_websocket.test.jsx @@ -1,49 +1,46 @@ // Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -/* -var assert = require('assert'); -import TestHelper from './test_helper.jsx'; -describe('Client.WebSocket', function() { - this.timeout(10000); +import TestHelper from 'tests/helpers/client-test-helper.jsx'; - it('WebSocket.getStatusesByIds', function(done) { - TestHelper.initBasic(() => { +describe.skip('Client.WebSocket', function() { + test('WebSocket.getStatusesByIds', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicWebSocketClient().getStatusesByIds( [TestHelper.basicUser().id], function(resp) { TestHelper.basicWebSocketClient().close(); - assert.equal(resp.data[TestHelper.basicUser().id], 'online'); + expect(resp.data[TestHelper.basicUser().id]).toBe('online'); done(); } ); }, true); }); - it('WebSocket.getStatuses', function(done) { - TestHelper.initBasic(() => { + test('WebSocket.getStatuses', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicWebSocketClient().getStatuses( function(resp) { TestHelper.basicWebSocketClient().close(); - assert.equal(resp.data != null, true); + expect(resp.data).not.toBe(null); done(); } ); }, true); }); - it('WebSocket.userTyping', function(done) { - TestHelper.initBasic(() => { + test('WebSocket.userTyping', function(done) { + TestHelper.initBasic(done, () => { TestHelper.basicWebSocketClient().userTyping( TestHelper.basicChannel().id, '', function(resp) { TestHelper.basicWebSocketClient().close(); - assert.equal(resp.status, 'OK'); + expect(resp.status).toBe('OK'); done(); } ); }, true); }); -});*/ +}); diff --git a/webapp/tests/components/__snapshots__/about_build_modal.test.jsx.snap b/webapp/tests/components/__snapshots__/about_build_modal.test.jsx.snap new file mode 100644 index 0000000000..27eefa2734 --- /dev/null +++ b/webapp/tests/components/__snapshots__/about_build_modal.test.jsx.snap @@ -0,0 +1,334 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`components/AboutBuildModal should match snapshot for enterprise edition 1`] = ` + + + + + + + +
+
+ ", + } + } + /> +
+
+

+ Mattermost + + +

+

+ +

+
+
+ + +  3.6.0  (3.6.2) + +
+
+ +  Postgres +
+
+
+
+ +
+

+ +   + abcdef1234567890 +
+ +   + 0123456789abcdef +

+

+ +   + 21 January 2017 +

+
+
+
+`; + +exports[`components/AboutBuildModal should match snapshot for team edition 1`] = ` + + + + + + + +
+
+ ", + } + } + /> +
+
+

+ Mattermost + + +

+

+ +

+
+
+ + +  3.6.0  (3.6.2) + +
+
+ +  Postgres +
+
+
+
+
+ +
+ +
+
+
+

+ +   + abcdef1234567890 +
+ +   +

+

+ +   + 21 January 2017 +

+
+
+
+`; diff --git a/webapp/tests/components/__snapshots__/spinner_button.test.jsx.snap b/webapp/tests/components/__snapshots__/spinner_button.test.jsx.snap new file mode 100644 index 0000000000..e05132ddd8 --- /dev/null +++ b/webapp/tests/components/__snapshots__/spinner_button.test.jsx.snap @@ -0,0 +1,27 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`components/SpinnerButton should match snapshot with children 1`] = ` + +`; + +exports[`components/SpinnerButton should match snapshot with required props 1`] = ` +