1 | 'use strict'
|
2 |
|
3 |
|
4 | const _ = require('lodash')
|
5 | const config = require('./config')
|
6 | const testutils = require('./testutils')
|
7 |
|
8 |
|
9 | before(testutils.checkDB)
|
10 | after(() => {
|
11 | if (testutils.redis) {
|
12 | testutils.redis.quit()
|
13 | }
|
14 |
|
15 | })
|
16 |
|
17 | describe('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 | })
|