UNPKG

1.08 kBJavaScriptView Raw
1/* eslint-env mocha */
2/* eslint max-nested-callbacks: ["error", 5] */
3'use strict'
4
5const chai = require('chai')
6chai.use(require('dirty-chai'))
7const expect = chai.expect
8
9const PubSubRoom = require('../')
10const createLibp2p = require('./utils/create-libp2p')
11
12const topic = 'pubsub-same-node-test-' + Date.now() + '-' + Math.random()
13
14describe('same node', function () {
15 this.timeout(30000)
16 let node
17 const rooms = []
18
19 before(async () => {
20 node = await createLibp2p()
21 })
22
23 before(() => {
24 for (let i = 0; i < 2; i++) {
25 rooms.push(new PubSubRoom(node, topic))
26 }
27 })
28
29 after(() => {
30 return Promise.all(
31 rooms.map(room => room.leave())
32 )
33 })
34
35 after(() => node.stop())
36
37 it('mirrors broadcast', (done) => {
38 rooms[0].once('message', (message) => {
39 expect(message.data.toString()).to.equal('message 1')
40 rooms[0].once('message', (message) => {
41 expect(message.data.toString()).to.equal('message 2')
42 done()
43 })
44 })
45 rooms[1].broadcast('message 1')
46 rooms[1].broadcast('message 2')
47 })
48})