Add test for splitted config files
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
const defaultPreferences = require('./defaultPreferences');
|
const defaultPreferences = require('./defaultPreferences');
|
||||||
|
|
||||||
const pastDefaultPreferences = {
|
const pastDefaultPreferences = {
|
||||||
1: defaultPreferences,
|
|
||||||
0: {
|
0: {
|
||||||
url: ''
|
url: ''
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pastDefaultPreferences[`${defaultPreferences.version}`] = defaultPreferences;
|
||||||
|
|
||||||
module.exports = pastDefaultPreferences;
|
module.exports = pastDefaultPreferences;
|
||||||
|
@@ -1,15 +1,9 @@
|
|||||||
const settings = require('../../src/common/settings');
|
const settings = require('../../src/common/settings');
|
||||||
const deepmerge = require('deepmerge');
|
const buildConfig = require('../../src/common/config/buildConfig');
|
||||||
|
const defaultPreferences = require('../../src/common/config/defaultPreferences');
|
||||||
|
const pastDefaultPreferences = require('../../src/common/config/pastDefaultPreferences');
|
||||||
|
|
||||||
describe('common/settings.js', () => {
|
describe('common/settings.js', () => {
|
||||||
before(() => {
|
|
||||||
process.env.TEST = 1;
|
|
||||||
});
|
|
||||||
|
|
||||||
after(() => {
|
|
||||||
delete process.env.TEST;
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should upgrade v0 config file', () => {
|
it('should upgrade v0 config file', () => {
|
||||||
const v0Config = {
|
const v0Config = {
|
||||||
url: 'https://example.com/team'
|
url: 'https://example.com/team'
|
||||||
@@ -20,13 +14,34 @@ describe('common/settings.js', () => {
|
|||||||
config.version.should.equal(settings.version);
|
config.version.should.equal(settings.version);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should loadDefault config for version 1', () => {
|
it('should merge teams with buildConfig.defaultTeams', () => {
|
||||||
const baseConfig = require('../../src/common/config/base.json');
|
const teams = [
|
||||||
const overrideConfig = require('../../src/common/config/override.json');
|
{
|
||||||
const expectedDefaults = deepmerge(
|
name: 'test',
|
||||||
baseConfig[1], overrideConfig[1] || {}, {clone: true, arrayMerge: settings.deepMergeArray}
|
url: 'https://example.com'
|
||||||
);
|
}
|
||||||
const defaultConfig = settings.loadDefault();
|
];
|
||||||
defaultConfig.should.eql(expectedDefaults);
|
|
||||||
|
const mergedTeams = settings.mergeDefaultTeams(teams);
|
||||||
|
mergedTeams.should.deep.equal([
|
||||||
|
{
|
||||||
|
name: 'test',
|
||||||
|
url: 'https://example.com'
|
||||||
|
},
|
||||||
|
...buildConfig.defaultTeams
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('common/config/', () => {
|
||||||
|
it('pastDefaultPreferences should have each past version of defaultPreferences', () => {
|
||||||
|
for (let version = 0; version <= defaultPreferences.version; version++) {
|
||||||
|
pastDefaultPreferences[`${version}`].should.exist; // eslint-disable-line no-unused-expressions
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
it('defaultPreferences equal to one of pastDefaultPreferences', () => {
|
||||||
|
const pastPreferences = pastDefaultPreferences[`${defaultPreferences.version}`];
|
||||||
|
pastPreferences.should.deep.equal(defaultPreferences);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user