mirror of
https://github.com/Unleash/unleash.git
synced 2025-03-18 00:19:49 +01:00
fix: enable disabled strategies keeps settings (#7950)
This commit is contained in:
parent
2a13139215
commit
48423fa980
@ -1896,7 +1896,7 @@ class FeatureToggleService {
|
|||||||
strategies.map((strategy) =>
|
strategies.map((strategy) =>
|
||||||
this.updateStrategy(
|
this.updateStrategy(
|
||||||
strategy.id,
|
strategy.id,
|
||||||
{ disabled: false },
|
{ ...strategy, disabled: false },
|
||||||
{
|
{
|
||||||
environment,
|
environment,
|
||||||
projectId: project,
|
projectId: project,
|
||||||
|
@ -814,3 +814,51 @@ test('Should not allow to revive flags to archived projects', async () => {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('Should enable disabled strategies on feature environment enabled', async () => {
|
||||||
|
const flagName = 'enableThisFlag';
|
||||||
|
const project = 'default';
|
||||||
|
const environment = 'default';
|
||||||
|
const shouldActivateDisabledStrategies = true;
|
||||||
|
await service.createFeatureToggle(
|
||||||
|
project,
|
||||||
|
{
|
||||||
|
name: flagName,
|
||||||
|
},
|
||||||
|
TEST_AUDIT_USER,
|
||||||
|
);
|
||||||
|
const config: Omit<FeatureStrategySchema, 'id'> = {
|
||||||
|
name: 'default',
|
||||||
|
constraints: [
|
||||||
|
{ contextName: 'userId', operator: 'IN', values: ['1', '1'] },
|
||||||
|
],
|
||||||
|
parameters: { param: 'a' },
|
||||||
|
variants: [
|
||||||
|
{
|
||||||
|
name: 'a',
|
||||||
|
weight: 100,
|
||||||
|
weightType: 'variable',
|
||||||
|
stickiness: 'random',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
disabled: true,
|
||||||
|
};
|
||||||
|
const createdConfig = await service.createStrategy(
|
||||||
|
config,
|
||||||
|
{ projectId: project, featureName: flagName, environment },
|
||||||
|
TEST_AUDIT_USER,
|
||||||
|
);
|
||||||
|
|
||||||
|
await service.updateEnabled(
|
||||||
|
project,
|
||||||
|
flagName,
|
||||||
|
environment,
|
||||||
|
true,
|
||||||
|
TEST_AUDIT_USER,
|
||||||
|
{ email: 'test@example.com' } as User,
|
||||||
|
shouldActivateDisabledStrategies,
|
||||||
|
);
|
||||||
|
|
||||||
|
const strategy = await service.getStrategy(createdConfig.id);
|
||||||
|
expect(strategy).toMatchObject({ ...config, disabled: false });
|
||||||
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user