Add test for splitted config files

This commit is contained in:
Yuya Ochiai
2017-10-22 01:03:50 +09:00
parent 65286a6454
commit baf0022892
2 changed files with 34 additions and 18 deletions

View File

@@ -1,10 +1,11 @@
const defaultPreferences = require('./defaultPreferences');
const pastDefaultPreferences = {
1: defaultPreferences,
0: {
url: ''
}
};
pastDefaultPreferences[`${defaultPreferences.version}`] = defaultPreferences;
module.exports = pastDefaultPreferences;

View File

@@ -1,15 +1,9 @@
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', () => {
before(() => {
process.env.TEST = 1;
});
after(() => {
delete process.env.TEST;
});
it('should upgrade v0 config file', () => {
const v0Config = {
url: 'https://example.com/team'
@@ -20,13 +14,34 @@ describe('common/settings.js', () => {
config.version.should.equal(settings.version);
});
it('should loadDefault config for version 1', () => {
const baseConfig = require('../../src/common/config/base.json');
const overrideConfig = require('../../src/common/config/override.json');
const expectedDefaults = deepmerge(
baseConfig[1], overrideConfig[1] || {}, {clone: true, arrayMerge: settings.deepMergeArray}
);
const defaultConfig = settings.loadDefault();
defaultConfig.should.eql(expectedDefaults);
it('should merge teams with buildConfig.defaultTeams', () => {
const teams = [
{
name: 'test',
url: 'https://example.com'
}
];
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);
});
});