mirror of
https://github.com/Unleash/unleash.git
synced 2025-05-12 01:17:04 +02:00
fix: enable disabled strategies keeps settings (#7952)
This commit is contained in:
parent
b566524bed
commit
eec2bfd2e6
@ -1886,7 +1886,7 @@ class FeatureToggleService {
|
||||
strategies.map((strategy) =>
|
||||
this.updateStrategy(
|
||||
strategy.id,
|
||||
{ disabled: false },
|
||||
{ ...strategy, disabled: false },
|
||||
{
|
||||
environment,
|
||||
projectId: project,
|
||||
|
@ -744,3 +744,51 @@ test('Should return "default" for stickiness when creating a flexibleRollout str
|
||||
strategies: [{ parameters: { stickiness: 'default' } }],
|
||||
});
|
||||
});
|
||||
|
||||
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