File tree Expand file tree Collapse file tree 3 files changed +35
-25
lines changed Expand file tree Collapse file tree 3 files changed +35
-25
lines changed Original file line number Diff line number Diff line change @@ -364,7 +364,8 @@ - (NSString *)getFeatureVariableString:(nullable NSString *)featureKey
364
364
[enabledFeatures addObject: featureKey];
365
365
}
366
366
}
367
- return enabledFeatures;
367
+ NSArray *enabledFeaturesSorted = [enabledFeatures sortedArrayUsingSelector: @selector (caseInsensitiveCompare: )];
368
+ return enabledFeaturesSorted;
368
369
}
369
370
370
371
#pragma mark trackEvent methods
Original file line number Diff line number Diff line change @@ -940,13 +940,22 @@ -(void)testGetEnabledFeaturesWithNoFeatureEnabledForUser {
940
940
[optimizelyMock stopMocking ];
941
941
}
942
942
943
- // should return empty feature array as no feature is enabled for user
943
+ // should return feature array as some feature is enabled for user
944
944
-(void )testGetEnabledFeaturesWithSomeFeaturesEnabledForUser {
945
945
NSArray <NSString *> *enabledFeatures = @[@" booleanFeature" , @" booleanSingleVariableFeature" , @" multiVariateFeature" ];
946
946
NSArray <NSString *> *features = [self .optimizely getEnabledFeatures: kUserId attributes: self .attributes];
947
947
XCTAssertEqualObjects (features, enabledFeatures);
948
948
}
949
949
950
+ // should return sorted feature array as some feature is enabled for user
951
+ -(void )testGetEnabledFeaturesSortedWithSomeFeaturesEnabledForUser {
952
+ NSArray <NSString *> *sortedEnabledFeatures = @[@" booleanFeature" , @" booleanSingleVariableFeature" , @" multiVariateFeature" ];
953
+ NSArray <NSString *> *unSortedEnabledFeatures = @[ @" multiVariateFeature" , @" booleanFeature" , @" booleanSingleVariableFeature" ];
954
+ NSArray <NSString *> *features = [self .optimizely getEnabledFeatures: kUserId attributes: self .attributes];
955
+ XCTAssertEqualObjects (features, sortedEnabledFeatures);
956
+ XCTAssertNotEqualObjects (features, unSortedEnabledFeatures);
957
+ }
958
+
950
959
#pragma mark - Helper Methods
951
960
952
961
- (id )getOptimizelyMockForFeatureVariableType : (NSString *)featureVariableType variableKey : (NSString *)variableKey expectedReturn : (NSString *)expectedReturn {
Original file line number Diff line number Diff line change 713
713
"experimentIds" : [],
714
714
"variables" : []
715
715
},
716
+ {
717
+ "id" : " 155559" ,
718
+ "key" : " multiVariateFeature" ,
719
+ "groupId" : " " ,
720
+ "rolloutId" : " " ,
721
+ "experimentIds" : [
722
+ " 6358043287"
723
+ ],
724
+ "variables" : [
725
+ {
726
+ "id" : " 155560" ,
727
+ "key" : " firstLetter" ,
728
+ "type" : " string" ,
729
+ "defaultValue" : " H"
730
+ },
731
+ {
732
+ "id" : " 155561" ,
733
+ "key" : " restOfName" ,
734
+ "type" : " string" ,
735
+ "defaultValue" : " arry"
736
+ }
737
+ ]
738
+ },
716
739
{
717
740
"id" : " 155549" ,
718
741
"key" : " booleanFeature" ,
765
788
}
766
789
]
767
790
},
768
- {
769
- "id" : " 155559" ,
770
- "key" : " multiVariateFeature" ,
771
- "groupId" : " " ,
772
- "rolloutId" : " " ,
773
- "experimentIds" : [
774
- " 6358043287"
775
- ],
776
- "variables" : [
777
- {
778
- "id" : " 155560" ,
779
- "key" : " firstLetter" ,
780
- "type" : " string" ,
781
- "defaultValue" : " H"
782
- },
783
- {
784
- "id" : " 155561" ,
785
- "key" : " restOfName" ,
786
- "type" : " string" ,
787
- "defaultValue" : " arry"
788
- }
789
- ]
790
- },
791
791
{
792
792
"id" : " 155666" ,
793
793
"key" : " doubleSingleVariableFeature" ,
You can’t perform that action at this time.
0 commit comments