summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile5
-rw-r--r--cmd/platform/test.go29
-rw-r--r--webapp/.babelrc7
-rw-r--r--webapp/client/client.jsx3
-rw-r--r--webapp/components/about_build_modal.jsx2
-rw-r--r--webapp/package.json52
-rw-r--r--webapp/tests/.eslintrc.json3
-rw-r--r--webapp/tests/client/client_admin.test.jsx (renamed from webapp/tests/client_admin.test.jsx)137
-rw-r--r--webapp/tests/client/client_channel.test.jsx (renamed from webapp/tests/client_channel.test.jsx)237
-rw-r--r--webapp/tests/client/client_command.test.jsx (renamed from webapp/tests/client_command.test.jsx)61
-rw-r--r--webapp/tests/client/client_emoji.test.jsx (renamed from webapp/tests/client_emoji.test.jsx)41
-rw-r--r--webapp/tests/client/client_file.test.jsx (renamed from webapp/tests/client_file.test.jsx)90
-rw-r--r--webapp/tests/client/client_general.test.jsx (renamed from webapp/tests/client_general.test.jsx)25
-rw-r--r--webapp/tests/client/client_hooks.test.jsx (renamed from webapp/tests/client_hooks.test.jsx)77
-rw-r--r--webapp/tests/client/client_oauth.test.jsx (renamed from webapp/tests/client_oauth.test.jsx)21
-rw-r--r--webapp/tests/client/client_post.test.jsx (renamed from webapp/tests/client_post.test.jsx)99
-rw-r--r--webapp/tests/client/client_preferences.test.jsx (renamed from webapp/tests/client_preferences.test.jsx)33
-rw-r--r--webapp/tests/client/client_reaction.test.jsx (renamed from webapp/tests/client_reaction.test.jsx)22
-rw-r--r--webapp/tests/client/client_team.test.jsx (renamed from webapp/tests/client_team.test.jsx)156
-rw-r--r--webapp/tests/client/client_user.test.jsx (renamed from webapp/tests/client_user.test.jsx)317
-rw-r--r--webapp/tests/client/client_websocket.test.jsx (renamed from webapp/tests/client_websocket.test.jsx)27
-rw-r--r--webapp/tests/components/__snapshots__/about_build_modal.test.jsx.snap334
-rw-r--r--webapp/tests/components/__snapshots__/spinner_button.test.jsx.snap27
-rw-r--r--webapp/tests/components/about_build_modal.test.jsx129
-rw-r--r--webapp/tests/components/backstage/components/__snapshots__/backstage_header.test.jsx.snap31
-rw-r--r--webapp/tests/components/backstage/components/backstage_header.test.jsx26
-rw-r--r--webapp/tests/components/spinner_button.test.jsx53
-rw-r--r--webapp/tests/components/suggestion/suggestion_box.test.jsx16
-rw-r--r--webapp/tests/emoticons.test.jsx47
-rw-r--r--webapp/tests/helpers/client-test-helper.jsx (renamed from webapp/tests/test_helper.jsx)4
-rw-r--r--webapp/tests/helpers/intl-test-helper.jsx22
-rw-r--r--webapp/tests/spinner_button.test.jsx19
-rw-r--r--webapp/tests/suggestion_box.test.jsx.disable20
-rw-r--r--webapp/tests/utils/emoticons.test.jsx36
-rw-r--r--webapp/tests/utils/formatting_at_mentions.test.jsx (renamed from webapp/tests/formatting_at_mentions.test.jsx)2
-rw-r--r--webapp/tests/utils/formatting_hashtags.test.jsx (renamed from webapp/tests/formatting_hashtags.test.jsx)2
-rw-r--r--webapp/tests/utils/formatting_imgs.test.jsx (renamed from webapp/tests/formatting_imgs.test.jsx)2
-rw-r--r--webapp/tests/utils/formatting_links.test.jsx (renamed from webapp/tests/formatting_links.test.jsx)2
-rw-r--r--webapp/tests/utils/utils_get_nearest_point.test.jsx (renamed from webapp/tests/utils_get_nearest_point.test.jsx)8
40 files changed, 1426 insertions, 799 deletions
diff --git a/.gitignore b/.gitignore
index b9775bad9..6ab3cf0a4 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 79a5489b8..0d998d741 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 65a8528d0..cf67d6702 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 000000000..3c45d7307
--- /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 a95049f93..ecb5b18f6 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 b95d3a60a..71aee93c2 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}
+ <span id='versionString'>{version}</span>
</div>
<div>
<FormattedMessage
diff --git a/webapp/package.json b/webapp/package.json
index f0b1b8bb2..9f53c848f 100644
--- a/webapp/package.json
+++ b/webapp/package.json
@@ -1,6 +1,8 @@
{
"name": "mattermost-webapp",
- "browser": {"./client/web_client.jsx": "./client/browser_web_client.jsx"},
+ "browser": {
+ "./client/web_client.jsx": "./client/browser_web_client.jsx"
+ },
"version": "0.0.1",
"private": true,
"dependencies": {
@@ -39,6 +41,7 @@
"devDependencies": {
"babel-core": "6.24.0",
"babel-eslint": "7.1.1",
+ "babel-jest": "19.0.0",
"babel-loader": "6.4.0",
"babel-plugin-transform-runtime": "6.23.0",
"babel-polyfill": "6.23.0",
@@ -48,6 +51,8 @@
"copy-webpack-plugin": "4.0.1",
"cross-env": "3.2.3",
"css-loader": "0.27.3",
+ "enzyme": "2.7.1",
+ "enzyme-to-json": "1.5.0",
"eslint": "3.17.1",
"eslint-plugin-react": "6.10.0",
"exports-loader": "0.6.4",
@@ -55,29 +60,66 @@
"file-loader": "0.10.1",
"html-loader": "0.4.5",
"html-webpack-plugin": "2.28.0",
+ "identity-obj-proxy": "3.0.0",
"image-webpack-loader": "3.2.0",
"imports-loader": "0.7.1",
+ "jest": "19.0.2",
+ "jest-cli": "19.0.2",
"jquery-deferred": "0.3.1",
"jsdom": "9.12.0",
"jsdom-global": "2.1.1",
"json-loader": "0.5.4",
- "mocha": "3.2.0",
- "mocha-jsdom": "1.1.0",
- "mocha-webpack": "0.7.0",
"node-sass": "4.5.0",
"raw-loader": "0.5.1",
"react-addons-test-utils": "15.4.2",
+ "react-dom": "15.4.2",
"sass-loader": "6.0.3",
"style-loader": "0.13.2",
"url-loader": "0.5.8",
"webpack": "2.2.1",
"webpack-node-externals": "1.5.4"
},
+ "jest": {
+ "snapshotSerializers": [
+ "<rootDir>/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 c2d57abea..37f08e664 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
index 9d93668af..36feac8cc 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
index e1ee6cf6d..dae70bca2 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
index e6795e5d7..0b5f4bbb2 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
index ddded4ff8..da7fab711 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
index 171df701b..aa0704b5a 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
index 709583c11..ddfb9d4ca 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
index db72bce18..79aa0b53d 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
index a9a6bd919..555b38438 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
index afe10931f..bad72c8b0 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
index 95b026bfc..9a8f75b95 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
index fba3fd43b..a7b1f3389 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
index 20610f676..76bdd2776 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
index 643640b59..5f299670d 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
index 6535610e3..9a754c345 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 000000000..27eefa273
--- /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`] = `
+<Modal
+ animation={true}
+ autoFocus={true}
+ backdrop={true}
+ bsClass="modal"
+ dialogClassName="about-modal"
+ dialogComponentClass={[Function]}
+ enforceFocus={true}
+ keyboard={true}
+ manager={
+ ModalManager {
+ "containers": Array [],
+ "data": Array [],
+ "handleContainerOverflow": true,
+ "hideSiblingNodes": true,
+ "modals": Array [],
+ }
+ }
+ onHide={[Function]}
+ renderBackdrop={[Function]}
+ restoreFocus={true}
+ show={true}
+>
+ <ModalHeader
+ aria-label="Close"
+ bsClass="modal-header"
+ closeButton={true}
+ >
+ <ModalTitle
+ bsClass="modal-title"
+ componentClass="h4"
+ >
+ <FormattedMessage
+ defaultMessage="About Mattermost"
+ id="about.title"
+ values={Object {}}
+ />
+ </ModalTitle>
+ </ModalHeader>
+ <ModalBody
+ bsClass="modal-body"
+ componentClass="div"
+ >
+ <div
+ className="about-modal__content"
+ >
+ <div
+ className="about-modal__logo"
+ >
+ <span
+ className="icon"
+ dangerouslySetInnerHTML={
+ Object {
+ "__html": "<svg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px'viewBox='0 0 500 500' style='enable-background:new 0 0 500 500;' xml:space='preserve'> <style type='text/css'> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style> <g id='XMLID_1_'> <g id='XMLID_3_'> <path id='XMLID_4_' class='st0' d='M396.9,47.7l2.6,53.1c43,47.5,60,114.8,38.6,178.1c-32,94.4-137.4,144.1-235.4,110.9 S51.1,253.1,83,158.7C104.5,95.2,159.2,52,222.5,40.5l34.2-40.4C150-2.8,49.3,63.4,13.3,169.9C-31,300.6,39.1,442.5,169.9,486.7 s272.6-25.8,316.9-156.6C522.7,223.9,483.1,110.3,396.9,47.7z'/> </g> <path id='XMLID_2_' class='st0' d='M335.6,204.3l-1.8-74.2l-1.5-42.7l-1-37c0,0,0.2-17.8-0.4-22c-0.1-0.9-0.4-1.6-0.7-2.2 c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.2c-0.7-1.2-1.8-2.1-3.1-2.6c-1.4-0.5-2.9-0.4-4.2,0.2c0,0-0.1,0-0.1,0 c-0.2,0.1-0.3,0.1-0.4,0.2c-0.6,0.3-1.2,0.7-1.8,1.3c-3,3-13.7,17.2-13.7,17.2l-23.2,28.8l-27.1,33l-46.5,57.8 c0,0-21.3,26.6-16.6,59.4s29.1,48.7,48,55.1c18.9,6.4,48,8.5,71.6-14.7C336.4,238.4,335.6,204.3,335.6,204.3z'/> </g> </svg>",
+ }
+ }
+ />
+ </div>
+ <div>
+ <h3
+ className="about-modal__title"
+ >
+ Mattermost
+
+ <FormattedMessage
+ defaultMessage="Enterprise Edition"
+ id="about.teamEditiont1"
+ values={Object {}}
+ />
+ </h3>
+ <p
+ className="about-modal__subtitle padding-bottom"
+ >
+ <FormattedMessage
+ defaultMessage="Modern communication from behind your firewall."
+ id="about.enterpriseEditionSt"
+ values={Object {}}
+ />
+ </p>
+ <div
+ className="form-group less"
+ >
+ <div>
+ <FormattedMessage
+ defaultMessage="Version:"
+ id="about.version"
+ values={Object {}}
+ />
+ <span
+ id="versionString"
+ >
+  3.6.0  (3.6.2)
+ </span>
+ </div>
+ <div>
+ <FormattedMessage
+ defaultMessage="Database:"
+ id="about.database"
+ values={Object {}}
+ />
+  Postgres
+ </div>
+ </div>
+ </div>
+ </div>
+ <div
+ className="about-modal__footer"
+ >
+ <div>
+ <FormattedMessage
+ defaultMessage="Learn more about Enterprise Edition at "
+ id="about.enterpriseEditionLearn"
+ values={Object {}}
+ />
+ <a
+ href="http://about.mattermost.com/"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ about.mattermost.com
+ </a>
+ </div>
+ <div
+ className="form-group about-modal__copyright"
+ >
+ <FormattedMessage
+ defaultMessage="Copyright 2016 Mattermost, Inc. All rights reserved"
+ id="about.copyright"
+ values={Object {}}
+ />
+ </div>
+ </div>
+ <div
+ className="about-modal__hash form-group padding-top x2"
+ >
+ <p>
+ <FormattedMessage
+ defaultMessage="Build Hash:"
+ id="about.hash"
+ values={Object {}}
+ />
+  
+ abcdef1234567890
+ <br />
+ <FormattedMessage
+ defaultMessage="EE Build Hash:"
+ id="about.hashee"
+ values={Object {}}
+ />
+  
+ 0123456789abcdef
+ </p>
+ <p>
+ <FormattedMessage
+ defaultMessage="Build Date:"
+ id="about.date"
+ values={Object {}}
+ />
+  
+ 21 January 2017
+ </p>
+ </div>
+ </ModalBody>
+</Modal>
+`;
+
+exports[`components/AboutBuildModal should match snapshot for team edition 1`] = `
+<Modal
+ animation={true}
+ autoFocus={true}
+ backdrop={true}
+ bsClass="modal"
+ dialogClassName="about-modal"
+ dialogComponentClass={[Function]}
+ enforceFocus={true}
+ keyboard={true}
+ manager={
+ ModalManager {
+ "containers": Array [],
+ "data": Array [],
+ "handleContainerOverflow": true,
+ "hideSiblingNodes": true,
+ "modals": Array [],
+ }
+ }
+ onHide={[Function]}
+ renderBackdrop={[Function]}
+ restoreFocus={true}
+ show={true}
+>
+ <ModalHeader
+ aria-label="Close"
+ bsClass="modal-header"
+ closeButton={true}
+ >
+ <ModalTitle
+ bsClass="modal-title"
+ componentClass="h4"
+ >
+ <FormattedMessage
+ defaultMessage="About Mattermost"
+ id="about.title"
+ values={Object {}}
+ />
+ </ModalTitle>
+ </ModalHeader>
+ <ModalBody
+ bsClass="modal-body"
+ componentClass="div"
+ >
+ <div
+ className="about-modal__content"
+ >
+ <div
+ className="about-modal__logo"
+ >
+ <span
+ className="icon"
+ dangerouslySetInnerHTML={
+ Object {
+ "__html": "<svg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px'viewBox='0 0 500 500' style='enable-background:new 0 0 500 500;' xml:space='preserve'> <style type='text/css'> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style> <g id='XMLID_1_'> <g id='XMLID_3_'> <path id='XMLID_4_' class='st0' d='M396.9,47.7l2.6,53.1c43,47.5,60,114.8,38.6,178.1c-32,94.4-137.4,144.1-235.4,110.9 S51.1,253.1,83,158.7C104.5,95.2,159.2,52,222.5,40.5l34.2-40.4C150-2.8,49.3,63.4,13.3,169.9C-31,300.6,39.1,442.5,169.9,486.7 s272.6-25.8,316.9-156.6C522.7,223.9,483.1,110.3,396.9,47.7z'/> </g> <path id='XMLID_2_' class='st0' d='M335.6,204.3l-1.8-74.2l-1.5-42.7l-1-37c0,0,0.2-17.8-0.4-22c-0.1-0.9-0.4-1.6-0.7-2.2 c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.2c-0.7-1.2-1.8-2.1-3.1-2.6c-1.4-0.5-2.9-0.4-4.2,0.2c0,0-0.1,0-0.1,0 c-0.2,0.1-0.3,0.1-0.4,0.2c-0.6,0.3-1.2,0.7-1.8,1.3c-3,3-13.7,17.2-13.7,17.2l-23.2,28.8l-27.1,33l-46.5,57.8 c0,0-21.3,26.6-16.6,59.4s29.1,48.7,48,55.1c18.9,6.4,48,8.5,71.6-14.7C336.4,238.4,335.6,204.3,335.6,204.3z'/> </g> </svg>",
+ }
+ }
+ />
+ </div>
+ <div>
+ <h3
+ className="about-modal__title"
+ >
+ Mattermost
+
+ <FormattedMessage
+ defaultMessage="Team Edition"
+ id="about.teamEditiont0"
+ values={Object {}}
+ />
+ </h3>
+ <p
+ className="about-modal__subtitle padding-bottom"
+ >
+ <FormattedMessage
+ defaultMessage="All your team communication in one place, instantly searchable and accessible anywhere."
+ id="about.teamEditionSt"
+ values={Object {}}
+ />
+ </p>
+ <div
+ className="form-group less"
+ >
+ <div>
+ <FormattedMessage
+ defaultMessage="Version:"
+ id="about.version"
+ values={Object {}}
+ />
+ <span
+ id="versionString"
+ >
+  3.6.0  (3.6.2)
+ </span>
+ </div>
+ <div>
+ <FormattedMessage
+ defaultMessage="Database:"
+ id="about.database"
+ values={Object {}}
+ />
+  Postgres
+ </div>
+ </div>
+ </div>
+ </div>
+ <div
+ className="about-modal__footer"
+ >
+ <div>
+ <FormattedMessage
+ defaultMessage="Join the Mattermost community at "
+ id="about.teamEditionLearn"
+ values={Object {}}
+ />
+ <a
+ href="http://www.mattermost.org/"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ mattermost.org
+ </a>
+ </div>
+ <div
+ className="form-group about-modal__copyright"
+ >
+ <FormattedMessage
+ defaultMessage="Copyright 2016 Mattermost, Inc. All rights reserved"
+ id="about.copyright"
+ values={Object {}}
+ />
+ </div>
+ </div>
+ <div
+ className="about-modal__hash form-group padding-top x2"
+ >
+ <p>
+ <FormattedMessage
+ defaultMessage="Build Hash:"
+ id="about.hash"
+ values={Object {}}
+ />
+  
+ abcdef1234567890
+ <br />
+ <FormattedMessage
+ defaultMessage="EE Build Hash:"
+ id="about.hashee"
+ values={Object {}}
+ />
+  
+ </p>
+ <p>
+ <FormattedMessage
+ defaultMessage="Build Date:"
+ id="about.date"
+ values={Object {}}
+ />
+  
+ 21 January 2017
+ </p>
+ </div>
+ </ModalBody>
+</Modal>
+`;
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 000000000..e05132ddd
--- /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`] = `
+<button
+ className="btn btn-primary"
+>
+ <span
+ id="child1"
+ />
+ <span
+ id="child2"
+ />
+</button>
+`;
+
+exports[`components/SpinnerButton should match snapshot with required props 1`] = `
+<button
+ className="btn btn-primary"
+/>
+`;
+
+exports[`components/SpinnerButton should match snapshot with spinning 1`] = `
+<img
+ className="spinner-button__gif"
+ src={Object {}}
+/>
+`;
diff --git a/webapp/tests/components/about_build_modal.test.jsx b/webapp/tests/components/about_build_modal.test.jsx
new file mode 100644
index 000000000..981bbac67
--- /dev/null
+++ b/webapp/tests/components/about_build_modal.test.jsx
@@ -0,0 +1,129 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+import {shallow} from 'enzyme';
+import {mountWithIntl} from 'tests/helpers/intl-test-helper.jsx';
+
+import AboutBuildModal from 'components/about_build_modal.jsx';
+import {Modal} from 'react-bootstrap';
+
+describe('components/AboutBuildModal', () => {
+ afterEach(() => {
+ global.window.mm_config = null;
+ global.window.mm_license = null;
+ });
+
+ test('should match snapshot for enterprise edition', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'true',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildHashEnterprise: '0123456789abcdef',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = {
+ isLicensed: 'true',
+ Company: 'Mattermost Inc'
+ };
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot for team edition', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should hide the build number if it is the same as the version number', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.0',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper.find('#versionString').text()).toBe(' 3.6.0');
+ });
+
+ test('should show the build number if it is the different from the version number', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper.find('#versionString').text()).toBe(' 3.6.0\u00a0 (3.6.2)');
+ });
+
+ test('should call onModalDismissed callback when the modal is hidden', (done) => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ function onHide() {
+ done();
+ }
+
+ const wrapper = mountWithIntl(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={onHide}
+ />
+ );
+ wrapper.find(Modal).first().props().onHide();
+ });
+});
diff --git a/webapp/tests/components/backstage/components/__snapshots__/backstage_header.test.jsx.snap b/webapp/tests/components/backstage/components/__snapshots__/backstage_header.test.jsx.snap
new file mode 100644
index 000000000..7a0ae9e0c
--- /dev/null
+++ b/webapp/tests/components/backstage/components/__snapshots__/backstage_header.test.jsx.snap
@@ -0,0 +1,31 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`components/backstage/components/BackstageHeader should match snapshot with children 1`] = `
+<div
+ className="backstage-header"
+>
+ <h1>
+ <div>
+ Child 1
+ </div>
+ <span
+ className="backstage-header__divider"
+ >
+ <i
+ className="fa fa-angle-right"
+ />
+ </span>
+ <div>
+ Child 2
+ </div>
+ </h1>
+</div>
+`;
+
+exports[`components/backstage/components/BackstageHeader should match snapshot without children 1`] = `
+<div
+ className="backstage-header"
+>
+ <h1 />
+</div>
+`;
diff --git a/webapp/tests/components/backstage/components/backstage_header.test.jsx b/webapp/tests/components/backstage/components/backstage_header.test.jsx
new file mode 100644
index 000000000..ef70ad242
--- /dev/null
+++ b/webapp/tests/components/backstage/components/backstage_header.test.jsx
@@ -0,0 +1,26 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+import {shallow} from 'enzyme';
+
+import BackstageHeader from 'components/backstage/components/backstage_header.jsx';
+
+describe('components/backstage/components/BackstageHeader', () => {
+ test('should match snapshot without children', () => {
+ const wrapper = shallow(
+ <BackstageHeader/>
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot with children', () => {
+ const wrapper = shallow(
+ <BackstageHeader>
+ <div>{'Child 1'}</div>
+ <div>{'Child 2'}</div>
+ </BackstageHeader>
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+});
diff --git a/webapp/tests/components/spinner_button.test.jsx b/webapp/tests/components/spinner_button.test.jsx
new file mode 100644
index 000000000..39e93071d
--- /dev/null
+++ b/webapp/tests/components/spinner_button.test.jsx
@@ -0,0 +1,53 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+import {shallow, mount} from 'enzyme';
+
+import SpinnerButton from 'components/spinner_button.jsx';
+
+describe('components/SpinnerButton', () => {
+ test('should match snapshot with required props', () => {
+ const wrapper = shallow(
+ <SpinnerButton
+ spinning={false}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot with spinning', () => {
+ const wrapper = shallow(
+ <SpinnerButton
+ spinning={true}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot with children', () => {
+ const wrapper = shallow(
+ <SpinnerButton
+ spinning={false}
+ >
+ <span id='child1'/>
+ <span id='child2'/>
+ </SpinnerButton>
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should handle onClick', (done) => {
+ function onClick() {
+ done();
+ }
+
+ const wrapper = mount(
+ <SpinnerButton
+ spinning={false}
+ onClick={onClick}
+ />
+ );
+ wrapper.find('button').first().props().onClick();
+ });
+});
diff --git a/webapp/tests/components/suggestion/suggestion_box.test.jsx b/webapp/tests/components/suggestion/suggestion_box.test.jsx
new file mode 100644
index 000000000..fe7f0e132
--- /dev/null
+++ b/webapp/tests/components/suggestion/suggestion_box.test.jsx
@@ -0,0 +1,16 @@
+// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import SuggestionBox from 'components/suggestion/suggestion_box.jsx';
+
+describe('components/SuggestionBox', function() {
+ test('findOverlap', () => {
+ expect(SuggestionBox.findOverlap('', 'blue')).toBe('');
+ expect(SuggestionBox.findOverlap('red', '')).toBe('');
+ expect(SuggestionBox.findOverlap('red', 'blue')).toBe('');
+ expect(SuggestionBox.findOverlap('red', 'dog')).toBe('d');
+ expect(SuggestionBox.findOverlap('red', 'education')).toBe('ed');
+ expect(SuggestionBox.findOverlap('red', 'reduce')).toBe('red');
+ expect(SuggestionBox.findOverlap('black', 'ack')).toBe('ack');
+ });
+});
diff --git a/webapp/tests/emoticons.test.jsx b/webapp/tests/emoticons.test.jsx
deleted file mode 100644
index b6ca0512d..000000000
--- a/webapp/tests/emoticons.test.jsx
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import assert from 'assert';
-
-import EmojiStore from 'stores/emoji_store.jsx';
-import * as Emoticons from 'utils/emoticons.jsx';
-
-describe('Emoticons', function() {
- this.timeout(100000);
-
- it('handleEmoticons', function(done) {
- const emojis = EmojiStore.getEmojis();
-
- assert.equal(
- Emoticons.handleEmoticons(':goat: :dash:', new Map(), emojis),
- '$MM_EMOTICON0 $MM_EMOTICON1',
- 'should replace emoticons with tokens'
- );
-
- assert.equal(
- Emoticons.handleEmoticons(':goat::dash:', new Map(), emojis),
- '$MM_EMOTICON0$MM_EMOTICON1',
- 'should replace emoticons not separated by whitespace'
- );
-
- assert.equal(
- Emoticons.handleEmoticons('/:goat:..:dash:)', new Map(), emojis),
- '/$MM_EMOTICON0..$MM_EMOTICON1)',
- 'should replace emoticons separated by punctuation'
- );
-
- assert.equal(
- Emoticons.handleEmoticons('asdf:goat:asdf:dash:asdf', new Map(), emojis),
- 'asdf$MM_EMOTICON0asdf$MM_EMOTICON1asdf',
- 'should replace emoticons separated by text'
- );
-
- assert.equal(
- Emoticons.handleEmoticons(':asdf: :goat : : dash:', new Map(), emojis),
- ':asdf: :goat : : dash:',
- 'shouldn\'t replace invalid emoticons'
- );
-
- done();
- });
-});
diff --git a/webapp/tests/test_helper.jsx b/webapp/tests/helpers/client-test-helper.jsx
index 79788948b..24aa5e281 100644
--- a/webapp/tests/test_helper.jsx
+++ b/webapp/tests/helpers/client-test-helper.jsx
@@ -103,11 +103,11 @@ class TestHelperClass {
return post;
}
- initBasic = (callback, connectWS) => {
+ initBasic = (done, callback, connectWS) => {
this.basicc = this.createClient();
function throwerror(err) {
- throw err;
+ done.fail(new Error(err.message));
}
var d1 = jqd.Deferred();
diff --git a/webapp/tests/helpers/intl-test-helper.jsx b/webapp/tests/helpers/intl-test-helper.jsx
new file mode 100644
index 000000000..49094f8d4
--- /dev/null
+++ b/webapp/tests/helpers/intl-test-helper.jsx
@@ -0,0 +1,22 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import {mount, shallow} from 'enzyme';
+import React from 'react';
+import {IntlProvider, intlShape} from 'react-intl';
+
+const intlProvider = new IntlProvider({locale: 'en'}, {});
+const {intl} = intlProvider.getChildContext();
+
+export function shallowWithIntl(node, {context} = {}) {
+ return shallow(React.cloneElement(node, {intl}), {
+ context: Object.assign({}, context, {intl})
+ });
+}
+
+export function mountWithIntl(node, {context, childContextTypes} = {}) {
+ return mount(React.cloneElement(node, {intl}), {
+ context: Object.assign({}, context, {intl}),
+ childContextTypes: Object.assign({}, {intl: intlShape}, childContextTypes)
+ });
+}
diff --git a/webapp/tests/spinner_button.test.jsx b/webapp/tests/spinner_button.test.jsx
deleted file mode 100644
index 296f4eaff..000000000
--- a/webapp/tests/spinner_button.test.jsx
+++ /dev/null
@@ -1,19 +0,0 @@
-
-var jsdom = require('mocha-jsdom');
-var assert = require('assert');
-import TestUtils from 'react-addons-test-utils';
-import SpinnerButton from '../components/spinner_button.jsx';
-import React from 'react';
-
-describe('SpinnerButton', function() {
- this.timeout(10000);
- jsdom();
-
- it('check props', function() {
- const spinner = TestUtils.renderIntoDocument(
- <SpinnerButton spinning={false}/>
- );
-
- assert.equal(spinner.props.spinning, false, 'should start in the default false state');
- });
-});
diff --git a/webapp/tests/suggestion_box.test.jsx.disable b/webapp/tests/suggestion_box.test.jsx.disable
deleted file mode 100644
index 6301482c2..000000000
--- a/webapp/tests/suggestion_box.test.jsx.disable
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import assert from 'assert';
-
-import SuggestionBox from 'components/suggestion/suggestion_box.jsx';
-
-describe('SuggestionBox', function() {
- it('findOverlap', function(done) {
- assert.equal(SuggestionBox.findOverlap('', 'blue'), '');
- assert.equal(SuggestionBox.findOverlap('red', ''), '');
- assert.equal(SuggestionBox.findOverlap('red', 'blue'), '');
- assert.equal(SuggestionBox.findOverlap('red', 'dog'), 'd');
- assert.equal(SuggestionBox.findOverlap('red', 'education'), 'ed');
- assert.equal(SuggestionBox.findOverlap('red', 'reduce'), 'red');
- assert.equal(SuggestionBox.findOverlap('black', 'ack'), 'ack');
-
- done();
- });
-}); \ No newline at end of file
diff --git a/webapp/tests/utils/emoticons.test.jsx b/webapp/tests/utils/emoticons.test.jsx
new file mode 100644
index 000000000..65848d2cc
--- /dev/null
+++ b/webapp/tests/utils/emoticons.test.jsx
@@ -0,0 +1,36 @@
+// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import EmojiStore from 'stores/emoji_store.jsx';
+import * as Emoticons from 'utils/emoticons.jsx';
+
+describe('Emoticons', () => {
+ describe('handleEmoticons', () => {
+ const emojis = EmojiStore.getEmojis();
+
+ test('should replace emoticons with tokens', () => {
+ expect(Emoticons.handleEmoticons(':goat: :dash:', new Map(), emojis)).
+ toEqual('$MM_EMOTICON0 $MM_EMOTICON1');
+ });
+
+ test('should replace emoticons not separated by whitespace', () => {
+ expect(Emoticons.handleEmoticons(':goat::dash:', new Map(), emojis)).
+ toEqual('$MM_EMOTICON0$MM_EMOTICON1');
+ });
+
+ test('should replace emoticons separated by punctuation', () => {
+ expect(Emoticons.handleEmoticons('/:goat:..:dash:)', new Map(), emojis)).
+ toEqual('/$MM_EMOTICON0..$MM_EMOTICON1)');
+ });
+
+ test('should replace emoticons separated by text', () => {
+ expect(Emoticons.handleEmoticons('asdf:goat:asdf:dash:asdf', new Map(), emojis)).
+ toEqual('asdf$MM_EMOTICON0asdf$MM_EMOTICON1asdf');
+ });
+
+ test('shouldn\'t replace invalid emoticons', () => {
+ expect(Emoticons.handleEmoticons(':asdf: :goat : : dash:', new Map(), emojis)).
+ toEqual(':asdf: :goat : : dash:');
+ });
+ });
+});
diff --git a/webapp/tests/formatting_at_mentions.test.jsx b/webapp/tests/utils/formatting_at_mentions.test.jsx
index 80b097c0f..1216134f2 100644
--- a/webapp/tests/formatting_at_mentions.test.jsx
+++ b/webapp/tests/utils/formatting_at_mentions.test.jsx
@@ -6,8 +6,6 @@ import assert from 'assert';
import * as TextFormatting from 'utils/text_formatting.jsx';
describe('TextFormatting.AtMentions', function() {
- this.timeout(10000);
-
it('At mentions', function() {
assert.equal(
TextFormatting.autolinkAtMentions('@user', new Map(), {user: {}}),
diff --git a/webapp/tests/formatting_hashtags.test.jsx b/webapp/tests/utils/formatting_hashtags.test.jsx
index cfda9aaa2..e1b382601 100644
--- a/webapp/tests/formatting_hashtags.test.jsx
+++ b/webapp/tests/utils/formatting_hashtags.test.jsx
@@ -6,8 +6,6 @@ import assert from 'assert';
import * as TextFormatting from 'utils/text_formatting.jsx';
describe('TextFormatting.Hashtags', function() {
- this.timeout(10000);
-
it('Not hashtags', function(done) {
assert.equal(
TextFormatting.formatText('# hashtag').trim(),
diff --git a/webapp/tests/formatting_imgs.test.jsx b/webapp/tests/utils/formatting_imgs.test.jsx
index 604472671..023359533 100644
--- a/webapp/tests/formatting_imgs.test.jsx
+++ b/webapp/tests/utils/formatting_imgs.test.jsx
@@ -6,8 +6,6 @@ import assert from 'assert';
import * as Markdown from 'utils/markdown.jsx';
describe('Markdown.Imgs', function() {
- this.timeout(10000);
-
it('Inline mage', function(done) {
assert.equal(
Markdown.format('![Mattermost](/images/icon.png)').trim(),
diff --git a/webapp/tests/formatting_links.test.jsx b/webapp/tests/utils/formatting_links.test.jsx
index 30461e6be..1a95cc3de 100644
--- a/webapp/tests/formatting_links.test.jsx
+++ b/webapp/tests/utils/formatting_links.test.jsx
@@ -7,8 +7,6 @@ import * as Markdown from 'utils/markdown.jsx';
import * as TextFormatting from 'utils/text_formatting.jsx';
describe('Markdown.Links', function() {
- this.timeout(10000);
-
it('Not links', function(done) {
assert.equal(
Markdown.format('example.com').trim(),
diff --git a/webapp/tests/utils_get_nearest_point.test.jsx b/webapp/tests/utils/utils_get_nearest_point.test.jsx
index 02ca29cc3..101f768bb 100644
--- a/webapp/tests/utils_get_nearest_point.test.jsx
+++ b/webapp/tests/utils/utils_get_nearest_point.test.jsx
@@ -1,9 +1,7 @@
-import assert from 'assert';
import * as CommonUtils from 'utils/commons.jsx';
describe('CommonUtils.getNearestPoint', function() {
- this.timeout(10000);
- it('should return nearest point', function() {
+ test('should return nearest point', function() {
for (const data of [
{
points: [{x: 30, y: 40}, {x: 50, y: 50}, {x: 100, y: 2}, {x: 500, y: 200}, {x: 110, y: 20}, {x: 10, y: 20}],
@@ -26,8 +24,8 @@ describe('CommonUtils.getNearestPoint', function() {
]) {
const nearestPoint = CommonUtils.getNearestPoint(data.pivotPoint, data.points);
- assert.equal(nearestPoint.x, data.nearestPoint.x);
- assert.equal(nearestPoint.y, data.nearestPoint.y);
+ expect(nearestPoint.x).toEqual(data.nearestPoint.x);
+ expect(nearestPoint.y).toEqual(data.nearestPoint.y);
}
});
});