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 b9775bad93c..6ab3cf0a4df 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 79a5489b8ed..0d998d74139 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 65a8528d098..cf67d6702c9 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 00000000000..3c45d7307c9 --- /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 a95049f932e..ecb5b18f612 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 b95d3a60a6d..71aee93c270 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 c2d57abeaf5..37f08e66414 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 9d93668afb0..36feac8cc31 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 e1ee6cf6d67..dae70bca2fb 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 e6795e5d772..0b5f4bbb20f 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 ddded4ff8ae..da7fab71170 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 171df701b55..aa0704b5abc 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 709583c11e9..ddfb9d4ca23 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 db72bce1841..79aa0b53d1c 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 a9a6bd91995..555b3843835 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 afe10931f5f..bad72c8b0b3 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 95b026bfc13..9a8f75b9509 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 fba3fd43bcd..a7b1f3389c5 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 20610f6760d..76bdd2776cc 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 643640b59d8..5f299670de5 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 6535610e383..9a754c345bd 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 00000000000..27eefa27345 --- /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 00000000000..e05132ddd83 --- /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`] = ` +