Skip to content

Commit 1e061fb

Browse files
committed
feat: simplified-tests
1 parent 31b615e commit 1e061fb

File tree

4 files changed

+22
-28
lines changed

4 files changed

+22
-28
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[submodule "tests/engine/engine-tests/engine-test-data"]
22
path = tests/engine/engine-tests/engine-test-data
33
url = [email protected]:Flagsmith/engine-test-data.git
4-
branch = main
4+
branch = v2.4.0

flagsmith-engine/evaluation/evaluationContext/evaluationContext.types.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ export interface SegmentContext {
179179
name: Name1;
180180
rules: Rules;
181181
overrides?: Overrides;
182-
metadata?: Metadata;
182+
metadata?: Metadata1;
183183
[k: string]: unknown;
184184
}
185185
/**
@@ -220,6 +220,7 @@ export interface FeatureContext {
220220
value: Value2;
221221
variants?: Variants;
222222
priority?: Priority1;
223+
metadata?: Metadata;
223224
[k: string]: unknown;
224225
}
225226
/**
@@ -232,11 +233,17 @@ export interface FeatureValue {
232233
[k: string]: unknown;
233234
}
234235
/**
235-
* Additional metadata associated with the segment.
236+
* Additional metadata associated with the feature.
236237
*/
237238
export interface Metadata {
238239
[k: string]: unknown;
239240
}
241+
/**
242+
* Additional metadata associated with the segment.
243+
*/
244+
export interface Metadata1 {
245+
[k: string]: unknown;
246+
}
240247
/**
241248
* Features to be evaluated in the context.
242249
*/

flagsmith-engine/evaluation/evaluationResult/evaluationResult.types.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,24 @@ export interface FlagResult {
5858
enabled: Enabled;
5959
value: Value;
6060
reason: Reason;
61+
metadata?: Metadata;
62+
[k: string]: unknown;
63+
}
64+
/**
65+
* Additional metadata associated with the feature.
66+
*/
67+
export interface Metadata {
6168
[k: string]: unknown;
6269
}
6370
export interface SegmentResult {
6471
key: Key;
6572
name: Name1;
66-
metadata?: Metadata;
73+
metadata?: Metadata1;
6774
[k: string]: unknown;
6875
}
6976
/**
7077
* Additional metadata associated with the segment.
7178
*/
72-
export interface Metadata {
79+
export interface Metadata1 {
7380
[k: string]: unknown;
7481
}

tests/engine/e2e/engine.test.ts

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@ import { getEvaluationResult } from '../../../flagsmith-engine/index.js';
55
import { Flags } from '../../../sdk/models.js';
66
import { EvaluationContext } from '../../../flagsmith-engine/evaluation/evaluationContext/evaluationContext.types.js';
77
import { parse as parseJsonc } from 'jsonc-parser';
8+
import { EvaluationResult } from '../../../flagsmith-engine/evaluation/models.js';
89

910
const __filename = fileURLToPath(import.meta.url);
1011
const __dirname = path.dirname(__filename);
1112
const TEST_DATA_DIR = path.join(__dirname, '../engine-tests/engine-test-data/test_cases');
1213
interface TestCase {
1314
context: EvaluationContext;
14-
result: {
15-
flags?: Record<string, any>;
16-
segments?: Record<string, any>;
17-
};
15+
result: EvaluationResult;
1816
}
1917

2018
function getTestFiles(): string[] {
@@ -41,26 +39,8 @@ describe('Engine Integration Tests', () => {
4139

4240
test(testName, () => {
4341
const testCase = loadTestFile(filePath);
44-
4542
const engine_response = getEvaluationResult(testCase.context);
46-
const flags = Flags.fromEvaluationResult(engine_response);
47-
const sortedEngineFlags = flags
48-
.allFlags()
49-
.sort((a, b) => (a.featureName > b.featureName ? 1 : -1));
50-
51-
const expectedFlags = testCase.result.flags || {};
52-
const sortedAPIFlags = Object.values(expectedFlags).sort((a: any, b: any) =>
53-
a.name > b.name ? 1 : -1
54-
) as any[];
55-
56-
expect(sortedEngineFlags.length).toBe(sortedAPIFlags.length);
57-
expect(engine_response.segments).toStrictEqual(testCase.result.segments);
58-
expect(engine_response.flags).toStrictEqual(testCase.result.flags);
59-
for (let i = 0; i < sortedEngineFlags.length; i++) {
60-
expect(sortedEngineFlags[i].value).toBe(sortedAPIFlags[i].value);
61-
expect(sortedEngineFlags[i].enabled).toBe(sortedAPIFlags[i].enabled);
62-
expect(sortedEngineFlags[i].reason).toBe(sortedAPIFlags[i].reason);
63-
}
43+
expect(engine_response).toStrictEqual(testCase.result);
6444
});
6545
});
6646
});

0 commit comments

Comments
 (0)