Skip to content

Commit 66fd1cd

Browse files
Add prerequisites property to splitview object
1 parent f036858 commit 66fd1cd

2 files changed

Lines changed: 31 additions & 7 deletions

File tree

environmentManager/__tests__/manager.test.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,13 @@ describe('environmentManager - manager endpoints', () => {
6161
.get('/manager/splits')
6262
.set('Authorization', 'key_green');
6363
expect(response.statusCode).toBe(200);
64-
expect(response.body.splits.map(flag => {return flag.name;}))
64+
expect(response.body.splits.map(flag => {return {name: flag.name, prerequisites: flag.prerequisites};}))
6565
.toEqual(
66-
['test_green', 'test_color', 'test_green_config']
66+
[
67+
{name: 'test_green', prerequisites: [{flagName: 'flag1', treatments: ['on', 'v1']}, {flagName: 'flag2', treatments: ['off']}]},
68+
{name: 'test_color', prerequisites: []},
69+
{name: 'test_green_config', prerequisites: [{flagName: 'flag3', treatments: ['on', 'v2']}, {flagName: 'flag4', treatments: ['off']}, {flagName: 'flag5', treatments: ['off']}]}
70+
]
6771
);
6872
});
6973

@@ -72,9 +76,13 @@ describe('environmentManager - manager endpoints', () => {
7276
.get('/manager/splits')
7377
.set('Authorization', 'key_purple');
7478
expect(response.statusCode).toBe(200);
75-
expect(response.body.splits.map(flag => {return flag.name;}))
79+
expect(response.body.splits.map(flag => {return {name: flag.name, prerequisites: flag.prerequisites};}))
7680
.toEqual(
77-
['test_color', 'test_purple', 'test_purple_config']
81+
[
82+
{name: 'test_color', prerequisites: []},
83+
{name: 'test_purple', prerequisites: []},
84+
{name: 'test_purple_config', prerequisites: []}
85+
]
7886
);
7987
});
8088

@@ -121,6 +129,7 @@ describe('environmentManager - manager endpoints', () => {
121129
expect(response.statusCode).toBe(200);
122130
expect(response.body.name).toEqual('test_green');
123131
expect(response.body.sets).toEqual(['set_green']);
132+
expect(response.body.prerequisites).toEqual([{flagName: 'flag1', treatments: ['on', 'v1']}, {flagName: 'flag2', treatments: ['off']}]);
124133
});
125134

126135
test('[/split] should be 200 if is valid authToken and return feature flag test_purple for key_purple', async () => {
@@ -130,6 +139,7 @@ describe('environmentManager - manager endpoints', () => {
130139
expect(response.statusCode).toBe(200);
131140
expect(response.body.name).toEqual('test_purple');
132141
expect(response.body.sets).toEqual(['set_purple']);
142+
expect(response.body.prerequisites).toEqual([]);
133143
});
134144

135145
test('[/split] should be 404 if is valid authToken and return 404 for test_green using key_purple', async () => {
@@ -146,6 +156,7 @@ describe('environmentManager - manager endpoints', () => {
146156
expect(response.statusCode).toBe(200);
147157
expect(response.body.name).toEqual('test_green');
148158
expect(response.body.sets).toEqual(['set_green']);
159+
expect(response.body.prerequisites).toEqual([{flagName: 'flag1', treatments: ['on', 'v1']}, {flagName: 'flag2', treatments: ['off']}]);
149160
});
150161

151162
test('[/split] should be 200 if is valid authToken and return feature flag test_purple for key_pink', async () => {
@@ -155,6 +166,7 @@ describe('environmentManager - manager endpoints', () => {
155166
expect(response.statusCode).toBe(200);
156167
expect(response.body.name).toEqual('test_purple');
157168
expect(response.body.sets).toEqual(['set_purple']);
169+
expect(response.body.prerequisites).toEqual([]);
158170
});
159171

160172

utils/mocks/splitchanges.since.-1.till.1602796638344.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@
4141
],
4242
"label": "default rule"
4343
}
44+
],
45+
"prerequisites": [
46+
{ "n": "flag1", "ts": ["on","v1"] },
47+
{ "n": "flag2", "ts": ["off"] }
4448
]
4549
},
4650
{
@@ -84,7 +88,8 @@
8488
],
8589
"label": "default rule"
8690
}
87-
]
91+
],
92+
"prerequisites": []
8893
},
8994
{
9095
"trafficTypeName": "client",
@@ -129,6 +134,11 @@
129134
],
130135
"label": "default rule"
131136
}
137+
],
138+
"prerequisites": [
139+
{ "n": "flag3", "ts": ["on","v2"] },
140+
{ "n": "flag4", "ts": ["off"] },
141+
{ "n": "flag5", "ts": ["off"] }
132142
]
133143
},
134144
{
@@ -172,7 +182,8 @@
172182
],
173183
"label": "default rule"
174184
}
175-
]
185+
],
186+
"prerequisites": []
176187
},
177188
{
178189
"trafficTypeName": "client",
@@ -217,7 +228,8 @@
217228
],
218229
"label": "default rule"
219230
}
220-
]
231+
],
232+
"prerequisites": []
221233
}
222234
],
223235
"since": -1,

0 commit comments

Comments
 (0)