@@ -41,6 +41,14 @@ const mockFeatures = [
4141 is_archived : false ,
4242 tags : [ 'ui' , 'theme' ] ,
4343 owners :
[ { id :
1 , name :
'John Doe' , email :
'[email protected] ' } ] , 44+ num_segment_overrides : 1 ,
45+ num_identity_overrides : 5 ,
46+ // Multi-environment status
47+ environment_state : [
48+ { id : 101 , enabled : true } , // Dev - enabled
49+ { id : 102 , enabled : true } , // Staging - enabled
50+ { id : 103 , enabled : false } , // Prod - disabled (not yet rolled out)
51+ ] ,
4452 } ,
4553 {
4654 id : 1002 ,
@@ -53,6 +61,13 @@ const mockFeatures = [
5361 is_archived : false ,
5462 tags : [ 'checkout' , 'experiment' ] ,
5563 owners :
[ { id :
2 , name :
'Jane Smith' , email :
'[email protected] ' } ] , 64+ num_segment_overrides : 2 ,
65+ num_identity_overrides : 0 ,
66+ environment_state : [
67+ { id : 101 , enabled : true } , // Dev - enabled
68+ { id : 102 , enabled : false } , // Staging - disabled
69+ { id : 103 , enabled : false } , // Prod - disabled
70+ ] ,
5671 } ,
5772 {
5873 id : 1003 ,
@@ -65,6 +80,13 @@ const mockFeatures = [
6580 is_archived : false ,
6681 tags : [ 'api' , 'performance' ] ,
6782 owners : [ ] ,
83+ num_segment_overrides : 0 ,
84+ num_identity_overrides : 0 ,
85+ environment_state : [
86+ { id : 101 , enabled : true } , // Dev - enabled
87+ { id : 102 , enabled : true } , // Staging - enabled
88+ { id : 103 , enabled : true } , // Prod - enabled
89+ ] ,
6890 } ,
6991 {
7092 id : 1004 ,
@@ -77,6 +99,13 @@ const mockFeatures = [
7799 is_archived : false ,
78100 tags : [ 'beta' ] ,
79101 owners :
[ { id :
1 , name :
'John Doe' , email :
'[email protected] ' } ] , 102+ num_segment_overrides : 3 ,
103+ num_identity_overrides : 12 ,
104+ environment_state : [
105+ { id : 101 , enabled : true } , // Dev - enabled
106+ { id : 102 , enabled : true } , // Staging - enabled
107+ { id : 103 , enabled : true } , // Prod - enabled (for beta users only via segment)
108+ ] ,
80109 } ,
81110 {
82111 id : 1005 ,
@@ -89,6 +118,13 @@ const mockFeatures = [
89118 is_archived : false ,
90119 tags : [ 'ops' ] ,
91120 owners : [ ] ,
121+ num_segment_overrides : 0 ,
122+ num_identity_overrides : 0 ,
123+ environment_state : [
124+ { id : 101 , enabled : false } , // Dev - disabled
125+ { id : 102 , enabled : false } , // Staging - disabled
126+ { id : 103 , enabled : false } , // Prod - disabled
127+ ] ,
92128 } ,
93129] ;
94130
@@ -142,23 +178,86 @@ const mockFeatureVersions: Record<number, any[]> = {
142178
143179const mockFeatureStates : Record < string , any [ ] > = {
144180 'v1-dark-mode-uuid' : [
145- { id : 2001 , enabled : true , feature_segment : null , feature_state_value : null } ,
146- { id : 2002 , enabled : true , feature_segment : 501 , feature_state_value : null } , // Segment override
181+ {
182+ id : 2001 ,
183+ enabled : true ,
184+ environment : 101 ,
185+ feature_segment : null ,
186+ feature_state_value : { string_value : 'dark' , integer_value : null , boolean_value : null } ,
187+ updated_at : '2024-12-01T10:00:00Z' ,
188+ } ,
189+ {
190+ id : 2002 ,
191+ enabled : true ,
192+ environment : 101 ,
193+ feature_segment : { segment : 501 , priority : 1 } ,
194+ feature_state_value : { string_value : 'auto' , integer_value : null , boolean_value : null } ,
195+ updated_at : '2024-12-05T14:30:00Z' ,
196+ } ,
147197 ] ,
148198 'v1-checkout-uuid' : [
149- { id : 2003 , enabled : false , feature_segment : null , feature_state_value : null } ,
150- { id : 2004 , enabled : true , feature_segment : 502 , feature_state_value : null } , // Beta users segment
199+ {
200+ id : 2003 ,
201+ enabled : false ,
202+ environment : 101 ,
203+ feature_segment : null ,
204+ feature_state_value : null ,
205+ updated_at : '2024-03-15T09:00:00Z' ,
206+ } ,
207+ {
208+ id : 2004 ,
209+ enabled : true ,
210+ environment : 101 ,
211+ feature_segment : { segment : 502 , priority : 1 } ,
212+ feature_state_value : { string_value : null , integer_value : null , boolean_value : true } ,
213+ updated_at : '2024-03-20T11:00:00Z' ,
214+ } ,
151215 ] ,
152216 'v1-rate-limit-uuid' : [
153- { id : 2005 , enabled : true , feature_segment : null , feature_state_value : '1000' } ,
217+ {
218+ id : 2005 ,
219+ enabled : true ,
220+ environment : 101 ,
221+ feature_segment : null ,
222+ feature_state_value : { string_value : null , integer_value : 1000 , boolean_value : null } ,
223+ updated_at : '2024-01-21T00:00:00Z' ,
224+ } ,
154225 ] ,
155226 'v1-beta-uuid' : [
156- { id : 2006 , enabled : false , feature_segment : null , feature_state_value : null } ,
157- { id : 2007 , enabled : true , feature_segment : 503 , feature_state_value : null } , // Beta testers
158- { id : 2008 , enabled : true , feature_segment : 504 , feature_state_value : null } , // Internal users
227+ {
228+ id : 2006 ,
229+ enabled : false ,
230+ environment : 101 ,
231+ feature_segment : null ,
232+ feature_state_value : null ,
233+ updated_at : '2024-04-05T16:45:00Z' ,
234+ } ,
235+ {
236+ id : 2007 ,
237+ enabled : true ,
238+ environment : 101 ,
239+ feature_segment : { segment : 503 , priority : 1 } ,
240+ feature_state_value : null ,
241+ updated_at : '2024-04-10T12:00:00Z' ,
242+ } ,
243+ {
244+ id : 2008 ,
245+ enabled : true ,
246+ environment : 101 ,
247+ feature_segment : { segment : 504 , priority : 2 } ,
248+ feature_state_value : null ,
249+ updated_at : '2024-04-12T09:00:00Z' ,
250+ } ,
159251 ] ,
160252 'v1-maintenance-uuid' : [
161- { id : 2009 , enabled : false , feature_segment : null , feature_state_value : null } ,
253+ {
254+ id : 2009 ,
255+ enabled : false ,
256+ environment : 101 ,
257+ feature_segment : null ,
258+ feature_state_value : { string_value : 'Scheduled maintenance' , integer_value : null , boolean_value : null } ,
259+ updated_at : '2024-02-28T08:00:00Z' ,
260+ } ,
162261 ] ,
163262} ;
164263
0 commit comments