unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
53 lines • 2.26 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const database_init_1 = __importDefault(require("../helpers/database-init"));
const no_logger_1 = __importDefault(require("../../fixtures/no-logger"));
let stores;
let db;
let featureStrategiesStore;
let featureToggleStore;
const featureName = 'test-strategies-move-project';
beforeAll(async () => {
db = await (0, database_init_1.default)('feature_strategies_store_serial', no_logger_1.default);
stores = db.stores;
featureStrategiesStore = stores.featureStrategiesStore;
featureToggleStore = stores.featureToggleStore;
await featureToggleStore.create('default', { name: featureName });
});
afterAll(async () => {
await db.destroy();
});
test('Can successfully update project for all strategies belonging to feature', async () => {
const newProjectId = 'different-project';
const oldProjectId = 'default';
const environment = 'default';
await featureStrategiesStore.createStrategyFeatureEnv({
strategyName: 'default',
projectId: oldProjectId,
environment,
featureName,
constraints: [],
parameters: {},
sortOrder: 15,
});
await featureStrategiesStore.createStrategyFeatureEnv({
strategyName: 'default',
projectId: oldProjectId,
environment,
featureName,
constraints: [],
parameters: {},
sortOrder: 20,
});
const strats = await featureStrategiesStore.getStrategiesForFeatureEnv(oldProjectId, featureName, environment);
expect(strats).toHaveLength(2);
await featureStrategiesStore.setProjectForStrategiesBelongingToFeature(featureName, newProjectId);
const newProjectStrats = await featureStrategiesStore.getStrategiesForFeatureEnv(newProjectId, featureName, environment);
expect(newProjectStrats).toHaveLength(2);
const oldProjectStrats = await featureStrategiesStore.getStrategiesForFeatureEnv(oldProjectId, featureName, environment);
return expect(oldProjectStrats).toHaveLength(0);
});
//# sourceMappingURL=feature-strategies-store.e2e.test.js.map