@@ -269,6 +269,53 @@ def test_get_list__with_experiments__returns_all(
269269 assert response .json ()[0 ]["id" ] == experiment .id
270270
271271
272+ def test_get_list__with_experiments__returns_nested_feature (
273+ admin_client_new : APIClient ,
274+ environment : Environment ,
275+ experiment : Experiment ,
276+ multivariate_feature : Feature ,
277+ enable_features : EnableFeaturesFixture ,
278+ ) -> None :
279+ # Given
280+ enable_features (EXPERIMENT_FLAG )
281+
282+ # When
283+ response = admin_client_new .get (_list_url (environment ))
284+
285+ # Then
286+ assert response .status_code == status .HTTP_200_OK
287+ data = response .json ()
288+ assert len (data ) == 1
289+ feature_data = data [0 ]["feature" ]
290+ assert isinstance (feature_data , dict )
291+ assert feature_data ["id" ] == multivariate_feature .id
292+ assert feature_data ["name" ] == multivariate_feature .name
293+ assert feature_data ["type" ] == "MULTIVARIATE"
294+ assert feature_data ["initial_value" ] == "control"
295+ assert len (feature_data ["multivariate_options" ]) == 3
296+
297+
298+ def test_get_detail__exists__returns_nested_feature (
299+ admin_client_new : APIClient ,
300+ environment : Environment ,
301+ experiment : Experiment ,
302+ multivariate_feature : Feature ,
303+ enable_features : EnableFeaturesFixture ,
304+ ) -> None :
305+ # Given
306+ enable_features (EXPERIMENT_FLAG )
307+
308+ # When
309+ response = admin_client_new .get (_detail_url (environment , experiment ))
310+
311+ # Then
312+ assert response .status_code == status .HTTP_200_OK
313+ feature_data = response .json ()["feature" ]
314+ assert isinstance (feature_data , dict )
315+ assert feature_data ["id" ] == multivariate_feature .id
316+ assert feature_data ["name" ] == multivariate_feature .name
317+
318+
272319def test_get_list__empty__returns_200 (
273320 admin_client_new : APIClient ,
274321 environment : Environment ,
0 commit comments