1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-08-23 13:46:45 +02:00

feat: lift tests

This commit is contained in:
Thomas Heartman 2023-11-20 12:28:18 +01:00
parent 697d907708
commit a76d1c13ba
No known key found for this signature in database
GPG Key ID: BD1F880DAED1EE78

View File

@ -134,81 +134,75 @@ describe.each([
); );
}); });
describe('addStrategy events should show up in used strategies correctly', () => { test.each([
test.each([ ['Draft', true],
['Draft', true], ['In review', true],
['In review', true], ['Scheduled', true],
['Scheduled', true], ['Approved', true],
['Approved', true], ['Rejected', false],
['Rejected', false], ['Cancelled', false],
['Cancelled', false], ['Applied', false],
['Applied', false], ])(
])( 'addStrategy events in %s CRs should show up only of the CR is active',
'addStrategy events in %s CRs should show up only of the CR is active', async (state, isActiveCr) => {
async (state, isActiveCr) => { await createCR(state);
await createCR(state);
const segmentId = 3; const segmentId = 3;
await addStrategyToCr(segmentId, FLAG_NAME); await addStrategyToCr(segmentId, FLAG_NAME);
const result = const result = await readModel.getStrategiesUsedInActiveChangeRequests(
await readModel.getStrategiesUsedInActiveChangeRequests( segmentId,
segmentId, );
); if (isActiveCr) {
if (isActiveCr) { expect(result).toStrictEqual([
expect(result).toStrictEqual([ {
{ projectId: 'default',
projectId: 'default', strategyName: 'flexibleRollout',
strategyName: 'flexibleRollout', environment: 'default',
environment: 'default', featureName: FLAG_NAME,
featureName: FLAG_NAME, },
}, ]);
]); } else {
} else { expect(result).toStrictEqual([]);
expect(result).toStrictEqual([]); }
} },
}, );
);
});
describe('updateStrategy events should show up in used strategies correctly', () => { test.each([
test.each([ ['Draft', true],
['Draft', true], ['In review', true],
['In review', true], ['Scheduled', true],
['Scheduled', true], ['Approved', true],
['Approved', true], ['Rejected', false],
['Rejected', false], ['Cancelled', false],
['Cancelled', false], ['Applied', false],
['Applied', false], ])(
])( `updateStrategy events in %s CRs should show up only of the CR is active`,
`updateStrategy events in %s CRs should show up only of the CR is active`, async (state, isActiveCr) => {
async (state, isActiveCr) => { await createCR(state);
await createCR(state);
const segmentId = 3; const segmentId = 3;
const strategyId = randomId(); const strategyId = randomId();
await updateStrategyInCr(strategyId, segmentId, FLAG_NAME); await updateStrategyInCr(strategyId, segmentId, FLAG_NAME);
const result = const result = await readModel.getStrategiesUsedInActiveChangeRequests(
await readModel.getStrategiesUsedInActiveChangeRequests( segmentId,
segmentId, );
);
if (isActiveCr) { if (isActiveCr) {
expect(result).toMatchObject([ expect(result).toMatchObject([
{ {
id: strategyId, id: strategyId,
projectId: 'default', projectId: 'default',
strategyName: 'flexibleRollout', strategyName: 'flexibleRollout',
environment: 'default', environment: 'default',
featureName: FLAG_NAME, featureName: FLAG_NAME,
}, },
]); ]);
} else { } else {
expect(result).toStrictEqual([]); expect(result).toStrictEqual([]);
} }
}, },
); );
});