mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +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) =>
|
||||
this.updateStrategy(
|
||||
strategy.id,
|
||||
{ disabled: false },
|
||||
{ ...strategy, disabled: false },
|
||||
{
|
||||
environment,
|
||||
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