mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 02:55:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const assert = require('assert');
 | |
| const nconf = require('nconf');
 | |
| 
 | |
| const db = require('./mocks/databasemock');
 | |
| const pubsub = require('../src/pubsub');
 | |
| 
 | |
| describe('pubsub', () => {
 | |
| 	it('should use the plain event emitter', (done) => {
 | |
| 		nconf.set('isCluster', false);
 | |
| 		pubsub.reset();
 | |
| 		pubsub.on('testEvent', (message) => {
 | |
| 			assert.equal(message.foo, 1);
 | |
| 			pubsub.removeAllListeners('testEvent');
 | |
| 			done();
 | |
| 		});
 | |
| 		pubsub.publish('testEvent', { foo: 1 });
 | |
| 	});
 | |
| 
 | |
| 	it('should use same event emitter', (done) => {
 | |
| 		pubsub.on('dummyEvent', (message) => {
 | |
| 			assert.equal(message.foo, 2);
 | |
| 			pubsub.removeAllListeners('dummyEvent');
 | |
| 			pubsub.reset();
 | |
| 			done();
 | |
| 		});
 | |
| 		pubsub.publish('dummyEvent', { foo: 2 });
 | |
| 	});
 | |
| 
 | |
| 	it('should use singleHostCluster', (done) => {
 | |
| 		const oldValue = nconf.get('singleHostCluster');
 | |
| 		nconf.set('singleHostCluster', true);
 | |
| 		pubsub.on('testEvent', (message) => {
 | |
| 			assert.equal(message.foo, 3);
 | |
| 			nconf.set('singleHostCluster', oldValue);
 | |
| 			pubsub.removeAllListeners('testEvent');
 | |
| 			done();
 | |
| 		});
 | |
| 		pubsub.publish('testEvent', { foo: 3 });
 | |
| 	});
 | |
| 
 | |
| 	it('should use same event emitter', (done) => {
 | |
| 		const oldValue = nconf.get('singleHostCluster');
 | |
| 		pubsub.on('dummyEvent', (message) => {
 | |
| 			assert.equal(message.foo, 4);
 | |
| 			nconf.set('singleHostCluster', oldValue);
 | |
| 			pubsub.removeAllListeners('dummyEvent');
 | |
| 			pubsub.reset();
 | |
| 			done();
 | |
| 		});
 | |
| 		pubsub.publish('dummyEvent', { foo: 4 });
 | |
| 	});
 | |
| });
 |