Ghost/test/utils/configUtils.js
Hannah Wolfe 7f1d3ebc07
Move tests from core to root (#11700)
- move all test files from core/test to test/
- updated all imports and other references
- all code inside of core/ is then application code
- tests are correctly at the root level
- consistent with other repos/projects

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-03-30 16:26:47 +01:00

42 lines
1.0 KiB
JavaScript

var _ = require('lodash'),
config = require('../../core/server/config'),
configUtils = {};
configUtils.config = config;
configUtils.defaultConfig = _.cloneDeep(config.get());
/**
* configUtils.set({});
* configUtils.set('key', 'value');
*/
configUtils.set = function () {
var key = arguments[0],
value = arguments[1];
if (_.isObject(key)) {
_.each(key, function (value, key) {
config.set(key, value);
});
} else {
config.set(key, value);
}
};
/**
* important: do not delete cloneDeep for value
* nconf keeps this as a reference and then it can happen that the defaultConfig get's overridden by new values
*/
configUtils.restore = function () {
/**
* we have to reset the whole config object
* config keys, which get set via a test and do not exist in the config files, won't get reseted
*/
config.reset();
_.each(configUtils.defaultConfig, function (value, key) {
config.set(key, _.cloneDeep(value));
});
};
module.exports = configUtils;