Yuki Takei 5 лет назад
Родитель
Сommit
939a6ff4f5
1 измененных файлов с 19 добавлено и 23 удалено
  1. 19 23
      src/test/service/config-manager.test.js

+ 19 - 23
src/test/service/config-manager.test.js

@@ -5,6 +5,8 @@ describe('ConfigManager test', () => {
   let configManager;
 
   beforeEach(async(done) => {
+    process.env.CONFIG_PUBSUB_SERVER_TYPE = 'nchan';
+
     crowi = await getInstance();
     configManager = crowi.configManager;
     done();
@@ -13,47 +15,41 @@ describe('ConfigManager test', () => {
 
   describe('updateConfigsInTheSameNamespace()', () => {
 
-    const configLoaderMock = {};
     const configModelMock = {};
 
     beforeEach(async(done) => {
       configManager.configPubsub = {};
 
-      // prepare mocks for loadConfigs method
-      configManager.configLoader = configLoaderMock;
-
       // prepare mocks for updateConfigsInTheSameNamespace method
       configManager.configModel = configModelMock;
 
       done();
     });
 
-    test('invoke publishUpdateMessage() after loadConfigs() with correct updatedAt arg', async() => {
-      // define sleep function
-      const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
-
-      // replace methods with mock
-      configLoaderMock.load = jest.fn(async() => {
-        await sleep(500);
-      });
-      configManager.reloadConfigKeys = jest.fn();
+    test('invoke publishUpdateMessage()', async() => {
       configModelMock.bulkWrite = jest.fn();
-
-      let publishedUpdatedDate;
-      configManager.publishUpdateMessage = jest.fn((date) => {
-        publishedUpdatedDate = date;
-      });
-
-      expect(configManager.lastLoadedAt < new Date()).toBeTruthy();
+      configManager.loadConfigs = jest.fn();
+      configManager.publishUpdateMessage = jest.fn();
 
       const dummyConfig = { dummyKey: 'dummyValue' };
       await configManager.updateConfigsInTheSameNamespace('dummyNs', dummyConfig);
 
       expect(configModelMock.bulkWrite).toHaveBeenCalledTimes(1);
+      expect(configManager.loadConfigs).toHaveBeenCalledTimes(1);
       expect(configManager.publishUpdateMessage).toHaveBeenCalledTimes(1);
-      expect(configLoaderMock.load).toHaveBeenCalledTimes(1);
-      expect(configManager.reloadConfigKeys).toHaveBeenCalledTimes(1);
-      expect(configManager.lastLoadedAt.getTime() - publishedUpdatedDate.getTime() >= 500).toBeTruthy();
+    });
+
+    test('does not invoke publishUpdateMessage()', async() => {
+      configModelMock.bulkWrite = jest.fn();
+      configManager.loadConfigs = jest.fn();
+      configManager.publishUpdateMessage = jest.fn();
+
+      const dummyConfig = { dummyKey: 'dummyValue' };
+      await configManager.updateConfigsInTheSameNamespace('dummyNs', dummyConfig, true);
+
+      expect(configModelMock.bulkWrite).toHaveBeenCalledTimes(1);
+      expect(configManager.loadConfigs).toHaveBeenCalledTimes(1);
+      expect(configManager.publishUpdateMessage).not.toHaveBeenCalled();
     });
 
   });