UNPKG

@adikari/config-manager

Version:

Tool to deploy configs to different stores

57 lines (50 loc) 1.31 kB
const path = require('path'); const mockGetSettings = jest.fn(() => Promise.resolve({ provider: { name: 'ddb' }, config: { the: 'config' } })); jest.mock('./make-get-settings', () => ({ makeGetSettings: () => mockGetSettings })); const { makeSettingsService } = require('./make-settings-service'); const settingsService = makeSettingsService({ settingsFilePath: path.resolve(process.cwd(), './examples/dynamodb-provider.yml'), cfService: {}, variables: {} }); describe('settingsService', () => { it('should cache settings per instance of settings service', () => { expect.assertions(2); return Promise.all([ settingsService.getSettings(), settingsService.getSettings(), settingsService.getSettings(), settingsService.getSettings(), settingsService.getSettings() ]) .then(([settings]) => { expect(settings).toEqual({ provider: { name: 'ddb' }, config: { the: 'config' } }); expect(mockGetSettings.mock.calls.length).toEqual(1); }) }); it('should return the provider', () => { expect.assertions(1); return settingsService.getProvider() .then(provider => { expect(provider).toEqual({ name: 'ddb' }); }); }); });