UNPKG

1.52 kBJavaScriptView Raw
1'use strict'
2/* eslint-env mocha */
3
4const _ = require('lodash')
5const config = require('./config')
6const testutils = require('./testutils')
7// const wtf = require('wtfnode')
8
9before(testutils.checkDB)
10after(() => {
11 if (testutils.redis) {
12 testutils.redis.quit()
13 }
14 // setTimeout(() => wtf.dump(), 1000)
15})
16
17describe('Chat service.', function () {
18 _.forEach(
19 config.states,
20 state => describe(
21 `State: '${state.state}', adapter: '${state.adapter}'.`,
22 function () {
23 before(() => testutils.setState(state))
24
25 describe('Server initialisation', require('./initialization'))
26
27 describe('Client connection', require('./connection'))
28
29 describe('Room management', require('./roomManagement'))
30
31 describe('Room messaging', require('./roomMessaging'))
32
33 describe('Room permissions', require('./roomPermissions'))
34
35 describe('Direct messaging', require('./directMessaging'))
36
37 describe('Direct permissions', require('./directPermissions'))
38
39 describe('Hooks execution', require('./hooks'))
40
41 describe('Server-side API', require('./api'))
42
43 describe('Server-side API permissions', require('./apiPermissions'))
44
45 describe('Parameters validation', require('./validation'))
46
47 describe('Server errors handling', require('./errorsHandling'))
48
49 describe('State consistency recovery', require('./consistencyRecovery'))
50 }))
51
52 describe('Service cluster with multiple nodes', require('./serviceCluster'))
53})