// Copyright IBM Corp. 2014,2016. All Rights Reserved. // Node module: loopback-boot // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT var configLoader = require('../lib/config-loader'); var fs = require('fs-extra'); var path = require('path'); var expect = require('chai').expect; var sandbox = require('./helpers/sandbox'); var appdir = require('./helpers/appdir'); describe('config-loader', function() { beforeEach(sandbox.reset); beforeEach(appdir.init); it('does not cache loaded values', function() { appdir.createConfigFilesSync(); appdir.writeConfigFileSync('middleware.json', { 'strong-error-handler': { params: { debug: false }}, }); appdir.writeConfigFileSync('middleware.development.json', { 'strong-error-handler': { params: { debug: true }}, }); // Here we load main config and merge it with DEV overrides var config = configLoader.loadMiddleware(appdir.PATH, 'development'); expect(config['strong-error-handler'].params.debug, 'debug in development') .to.equal(true); // When we load the config file again in different environment, // only the main file is loaded and no overrides are applied. config = configLoader.loadMiddleware(appdir.PATH, 'production'); expect(config['strong-error-handler'].params.debug, 'debug in production') .to.equal(false); }); });