config-manager.test.js 1.6 KB

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