summaryrefslogtreecommitdiffstats
path: root/webapp/tests
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/tests')
-rw-r--r--webapp/tests/client_websocket.test.jsx49
-rw-r--r--webapp/tests/test_helper.jsx20
2 files changed, 67 insertions, 2 deletions
diff --git a/webapp/tests/client_websocket.test.jsx b/webapp/tests/client_websocket.test.jsx
new file mode 100644
index 000000000..6535610e3
--- /dev/null
+++ b/webapp/tests/client_websocket.test.jsx
@@ -0,0 +1,49 @@
+// 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);
+
+ it('WebSocket.getStatusesByIds', function(done) {
+ TestHelper.initBasic(() => {
+ TestHelper.basicWebSocketClient().getStatusesByIds(
+ [TestHelper.basicUser().id],
+ function(resp) {
+ TestHelper.basicWebSocketClient().close();
+ assert.equal(resp.data[TestHelper.basicUser().id], 'online');
+ done();
+ }
+ );
+ }, true);
+ });
+
+ it('WebSocket.getStatuses', function(done) {
+ TestHelper.initBasic(() => {
+ TestHelper.basicWebSocketClient().getStatuses(
+ function(resp) {
+ TestHelper.basicWebSocketClient().close();
+ assert.equal(resp.data != null, true);
+ done();
+ }
+ );
+ }, true);
+ });
+
+ it('WebSocket.userTyping', function(done) {
+ TestHelper.initBasic(() => {
+ TestHelper.basicWebSocketClient().userTyping(
+ TestHelper.basicChannel().id,
+ '',
+ function(resp) {
+ TestHelper.basicWebSocketClient().close();
+ assert.equal(resp.status, 'OK');
+ done();
+ }
+ );
+ }, true);
+ });
+});*/
+
diff --git a/webapp/tests/test_helper.jsx b/webapp/tests/test_helper.jsx
index 41d0c15ba..310714e30 100644
--- a/webapp/tests/test_helper.jsx
+++ b/webapp/tests/test_helper.jsx
@@ -2,13 +2,20 @@
// See License.txt for license information.
import Client from 'client/client.jsx';
+import WebSocketClient from 'client/websocket_client.jsx';
import jqd from 'jquery-deferred';
+var HEADER_TOKEN = 'token';
+
class TestHelperClass {
basicClient = () => {
return this.basicc;
}
+ basicWebSocketClient = () => {
+ return this.basicwsc;
+ }
+
basicTeam = () => {
return this.basict;
}
@@ -53,6 +60,12 @@ class TestHelperClass {
return c;
}
+ createWebSocketClient(token) {
+ var ws = new WebSocketClient();
+ ws.initialize('http://localhost:8065/api/v3/users/websocket', token);
+ return ws;
+ }
+
fakeEmail = () => {
return 'success' + this.generateId() + '@simulator.amazonses.com';
}
@@ -90,7 +103,7 @@ class TestHelperClass {
return post;
}
- initBasic = (callback) => {
+ initBasic = (callback, connectWS) => {
this.basicc = this.createClient();
var d1 = jqd.Deferred();
@@ -122,7 +135,10 @@ class TestHelperClass {
rteamSignup.user.email,
password,
null,
- function() {
+ function(data, res) {
+ if (connectWS) {
+ outer.basicwsc = outer.createWebSocketClient(res.header[HEADER_TOKEN]);
+ }
outer.basicClient().useHeaderToken();
var channel = outer.fakeChannel();
channel.team_id = outer.basicTeam().id;