1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-09 00:18:00 +01:00

Remove legacy data support

This commit is contained in:
sveisvei 2017-06-28 10:18:43 +02:00 committed by Ivar Conradi Østhus
parent 7cd2667d9b
commit 71815a1320
2 changed files with 0 additions and 122 deletions

View File

@ -1,44 +0,0 @@
'use strict';
function addOldFields (feature) {
const modifiedFeature = Object.assign({}, feature);
if (!feature.strategies) {
modifiedFeature.strategies = [];
return modifiedFeature;
}
if (feature.strategies[0]) {
modifiedFeature.strategy = feature.strategies[0].name;
modifiedFeature.parameters = Object.assign({}, feature.strategies[0].parameters);
}
return modifiedFeature;
}
function isOldFomrat (feature) {
return feature.strategy && !feature.strategies;
}
function toNewFormat (feature) {
if (isOldFomrat(feature)) {
return {
name: feature.name,
description: feature.description,
enabled: feature.enabled,
strategies: [
{
name: feature.strategy,
parameters: Object.assign({}, feature.parameters),
},
],
};
} else {
return {
name: feature.name,
description: feature.description,
enabled: feature.enabled,
strategies: feature.strategies,
createdAt: feature.createdAt,
};
}
}
module.exports = { addOldFields, toNewFormat };

View File

@ -1,78 +0,0 @@
'use strict';
const test = require('ava');
const mapper = require('./legacy-feature-mapper');
test('adds old fields to feature', t => {
const feature = {
name: 'test',
enabled: 0,
strategies: [{
name: 'default',
parameters: {
val: 'bar',
},
}],
};
const mappedFeature = mapper.addOldFields(feature);
t.true(mappedFeature.name === feature.name);
t.true(mappedFeature.enabled === feature.enabled);
t.true(mappedFeature.strategy === feature.strategies[0].name);
t.true(mappedFeature.parameters !== feature.strategies[0].parameters);
t.deepEqual(mappedFeature.parameters, feature.strategies[0].parameters);
});
test('adds old fields to feature handles missing strategies field', t => {
const feature = {
name: 'test',
enabled: 0,
};
const mappedFeature = mapper.addOldFields(feature);
t.true(mappedFeature.name === feature.name);
t.true(mappedFeature.enabled === feature.enabled);
t.true(mappedFeature.strategies.length === 0);
});
test('transforms fields to new format', t => {
const feature = {
name: 'test',
enabled: 0,
strategy: 'default',
parameters: {
val: 'bar',
},
};
const mappedFeature = mapper.toNewFormat(feature);
t.true(mappedFeature.name === feature.name);
t.true(mappedFeature.enabled === feature.enabled);
t.true(mappedFeature.strategies.length === 1);
t.true(mappedFeature.strategies[0].name === feature.strategy);
t.deepEqual(mappedFeature.strategies[0].parameters, feature.parameters);
t.true(mappedFeature.strategy === undefined);
t.true(mappedFeature.parameters === undefined);
});
test('should not transform if it already is the new format', t => {
const feature = {
name: 'test',
enabled: 0,
description: 'test',
createdAt: new Date(),
strategies: [{
name: 'default',
parameters: {
val: 'bar',
},
}],
};
const mappedFeature = mapper.toNewFormat(feature);
t.deepEqual(mappedFeature, feature);
});