|
|
@ -1,12 +1,14 @@ |
|
|
|
const { test } = require('@jest/globals'); |
|
|
|
const { test } = require('@jest/globals'); |
|
|
|
var request = require('supertest'); |
|
|
|
var request = require('supertest'); |
|
|
|
request = request('http://127.0.0.1:8080'); |
|
|
|
request = request('http://127.0.0.1:8080'); |
|
|
|
|
|
|
|
const WebSocket = require('ws'); |
|
|
|
|
|
|
|
|
|
|
|
const registerChat = require('./lib/chat').registerChat; |
|
|
|
const registerChat = require('./lib/chat').registerChat; |
|
|
|
const sendChatMessage = require('./lib/chat').sendChatMessage; |
|
|
|
const sendChatMessage = require('./lib/chat').sendChatMessage; |
|
|
|
|
|
|
|
const listenForEvent = require('./lib/chat').listenForEvent; |
|
|
|
|
|
|
|
|
|
|
|
const testVisibilityMessage = { |
|
|
|
const testVisibilityMessage = { |
|
|
|
body: "message " + Math.floor(Math.random() * 100), |
|
|
|
body: 'message ' + Math.floor(Math.random() * 100), |
|
|
|
type: 'CHAT', |
|
|
|
type: 'CHAT', |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
@ -18,22 +20,49 @@ test('can send a chat message', async (done) => { |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
test('verify we can make API call to mark message as hidden', async (done) => { |
|
|
|
test('verify we can make API call to mark message as hidden', async (done) => { |
|
|
|
const res = await request.get('/api/admin/chat/messages').auth('admin', 'abc123').expect(200) |
|
|
|
const registration = await registerChat(); |
|
|
|
|
|
|
|
const accessToken = registration.accessToken; |
|
|
|
|
|
|
|
const ws = new WebSocket( |
|
|
|
|
|
|
|
`ws://localhost:8080/ws?accessToken=${accessToken}`, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
origin: 'http://localhost:8080', |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Verify the visibility change comes through the websocket
|
|
|
|
|
|
|
|
ws.on('message', function incoming(message) { |
|
|
|
|
|
|
|
const messages = message.split('\n'); |
|
|
|
|
|
|
|
messages.forEach(function (message) { |
|
|
|
|
|
|
|
const event = JSON.parse(message); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (event.type === 'VISIBILITY-UPDATE') { |
|
|
|
|
|
|
|
done(); |
|
|
|
|
|
|
|
ws.close(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const res = await request |
|
|
|
|
|
|
|
.get('/api/admin/chat/messages') |
|
|
|
|
|
|
|
.auth('admin', 'abc123') |
|
|
|
|
|
|
|
.expect(200); |
|
|
|
|
|
|
|
|
|
|
|
const message = res.body[0]; |
|
|
|
const message = res.body[0]; |
|
|
|
const messageId = message.id; |
|
|
|
const messageId = message.id; |
|
|
|
await request.post('/api/admin/chat/updatemessagevisibility') |
|
|
|
await request |
|
|
|
|
|
|
|
.post('/api/admin/chat/updatemessagevisibility') |
|
|
|
.auth('admin', 'abc123') |
|
|
|
.auth('admin', 'abc123') |
|
|
|
.send({ "idArray": [messageId], "visible": false }).expect(200); |
|
|
|
.send({ idArray: [messageId], visible: false }) |
|
|
|
done(); |
|
|
|
.expect(200); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
test('verify message has become hidden', async (done) => { |
|
|
|
test('verify message has become hidden', async (done) => { |
|
|
|
const res = await request.get('/api/admin/chat/messages') |
|
|
|
const res = await request |
|
|
|
|
|
|
|
.get('/api/admin/chat/messages') |
|
|
|
.expect(200) |
|
|
|
.expect(200) |
|
|
|
.auth('admin', 'abc123') |
|
|
|
.auth('admin', 'abc123'); |
|
|
|
|
|
|
|
|
|
|
|
const message = res.body.filter(obj => { |
|
|
|
const message = res.body.filter((obj) => { |
|
|
|
return obj.body === `${testVisibilityMessage.body}`; |
|
|
|
return obj.body === `${testVisibilityMessage.body}`; |
|
|
|
}); |
|
|
|
}); |
|
|
|
expect(message.length).toBe(1); |
|
|
|
expect(message.length).toBe(1); |
|
|
|