config-manager.test.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const { getInstance } = require('../setup-crowi');
  2. describe('ConfigManager test', () => {
  3. let crowi;
  4. let configManager;
  5. beforeEach(async(done) => {
  6. process.env.CONFIG_PUBSUB_SERVER_TYPE = 'nchan';
  7. crowi = await getInstance();
  8. configManager = crowi.configManager;
  9. done();
  10. });
  11. describe('updateConfigsInTheSameNamespace()', () => {
  12. const configModelMock = {};
  13. beforeEach(async(done) => {
  14. configManager.s2sMessagingService = {};
  15. // prepare mocks for updateConfigsInTheSameNamespace method
  16. configManager.configModel = configModelMock;
  17. done();
  18. });
  19. test('invoke publishUpdateMessage()', async() => {
  20. configModelMock.bulkWrite = jest.fn();
  21. configManager.loadConfigs = jest.fn();
  22. configManager.publishUpdateMessage = jest.fn();
  23. const dummyConfig = { dummyKey: 'dummyValue' };
  24. await configManager.updateConfigsInTheSameNamespace('dummyNs', dummyConfig);
  25. expect(configModelMock.bulkWrite).toHaveBeenCalledTimes(1);
  26. expect(configManager.loadConfigs).toHaveBeenCalledTimes(1);
  27. expect(configManager.publishUpdateMessage).toHaveBeenCalledTimes(1);
  28. });
  29. test('does not invoke publishUpdateMessage()', async() => {
  30. configModelMock.bulkWrite = jest.fn();
  31. configManager.loadConfigs = jest.fn();
  32. configManager.publishUpdateMessage = jest.fn();
  33. const dummyConfig = { dummyKey: 'dummyValue' };
  34. await configManager.updateConfigsInTheSameNamespace('dummyNs', dummyConfig, true);
  35. expect(configModelMock.bulkWrite).toHaveBeenCalledTimes(1);
  36. expect(configManager.loadConfigs).toHaveBeenCalledTimes(1);
  37. expect(configManager.publishUpdateMessage).not.toHaveBeenCalled();
  38. });
  39. });
  40. });