1
0
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:
Mateusz Kwasniewski 2024-08-21 13:17:33 +02:00 committed by GitHub
parent 2a13139215
commit 48423fa980
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 49 additions and 1 deletions

View File

@ -1896,7 +1896,7 @@ class FeatureToggleService {
strategies.map((strategy) =>
this.updateStrategy(
strategy.id,
{ disabled: false },
{ ...strategy, disabled: false },
{
environment,
projectId: project,

View File

@ -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 });
});