@@ -56,7 +56,6 @@ void main() {
56
56
SDKSettings sdkSettings = const SDKSettings ();
57
57
int datafilePeriodicDownloadInterval = 0 ;
58
58
String defaultLogLevel = "error" ;
59
-
60
59
const MethodChannel channel = MethodChannel ("optimizely_flutter_sdk" );
61
60
dynamic mockOptimizelyConfig;
62
61
@@ -106,6 +105,7 @@ void main() {
106
105
timeoutForOdpEventInSecs:
107
106
settings[Constants .timeoutForOdpEventInSecs],
108
107
disableOdp: settings[Constants .disableOdp],
108
+ enableVuid: settings[Constants .enableVuid],
109
109
);
110
110
}
111
111
@@ -175,17 +175,27 @@ void main() {
175
175
};
176
176
case Constants .createUserContextMethod:
177
177
expect (methodCall.arguments[Constants .sdkKey], isNotEmpty);
178
- if (methodCall.arguments[Constants .userId] != null ) {
178
+ var resultUserId = userContextId;
179
+ if (methodCall.arguments[Constants .userId] == null ) {
180
+ if (sdkSettings.enableVuid) {
181
+ resultUserId = vuid;
182
+ } else {
183
+ return {
184
+ Constants .responseSuccess: false ,
185
+ };
186
+ }
187
+ } else if (methodCall.arguments[Constants .userId] != null ) {
179
188
expect (methodCall.arguments[Constants .userId], equals (userId));
180
189
}
190
+
181
191
if (methodCall.arguments[Constants .attributes]["abc" ] != null ) {
182
192
expect (methodCall.arguments[Constants .attributes]["abc" ],
183
193
equals (attributes["abc" ]));
184
194
}
185
195
expect (methodCall.arguments[Constants .userContextId], isNull);
186
196
return {
187
197
Constants .responseSuccess: true ,
188
- Constants .responseResult: {Constants .userContextId: userContextId },
198
+ Constants .responseResult: {Constants .userContextId: resultUserId },
189
199
};
190
200
case Constants .getUserIdMethod:
191
201
expect (methodCall.arguments[Constants .sdkKey], isNotEmpty);
@@ -266,6 +276,8 @@ void main() {
266
276
case Constants .getVuidMethod:
267
277
expect (methodCall.arguments[Constants .sdkKey], isNotEmpty);
268
278
expect (methodCall.arguments[Constants .userContextId], isNull);
279
+ expect (methodCall.arguments[Constants .vuid], isNull);
280
+ var vuid = sdkSettings.enableVuid ? "vuid_123" : null ;
269
281
return {
270
282
Constants .responseSuccess: true ,
271
283
Constants .responseResult: {Constants .vuid: vuid},
@@ -376,6 +388,7 @@ void main() {
376
388
377
389
tearDown (() {
378
390
tester? .setMockMethodCallHandler (channel, null );
391
+ sdkSettings = const SDKSettings ();
379
392
});
380
393
381
394
group ("Integration: OptimizelyFlutterSdk MethodChannel" , () {
@@ -650,8 +663,17 @@ void main() {
650
663
expect (userContext, isNotNull);
651
664
});
652
665
653
- test ("should succeed null userId" , () async {
666
+ test ("should fail when disable vuid and userId null " , () async {
654
667
var sdk = OptimizelyFlutterSdk (testSDKKey);
668
+ sdk.initializeClient ();
669
+ var userContext = await sdk.createUserContext (attributes: attributes);
670
+ expect (userContext, isNull);
671
+ });
672
+
673
+ test ("should succed when enable vuid and userId null" , () async {
674
+ const settings = SDKSettings (enableVuid: true );
675
+ var sdk = OptimizelyFlutterSdk (testSDKKey, sdkSettings: settings);
676
+ sdk.initializeClient ();
655
677
var userContext = await sdk.createUserContext (attributes: attributes);
656
678
expect (userContext, isNotNull);
657
679
});
@@ -662,10 +684,11 @@ void main() {
662
684
expect (userContext, isNotNull);
663
685
});
664
686
665
- test ("should succeed null userId and attributes" , () async {
687
+ test ("should not succeed null userId and attributes" , () async {
666
688
var sdk = OptimizelyFlutterSdk (testSDKKey);
689
+ sdk.initializeClient ();
667
690
var userContext = await sdk.createUserContext ();
668
- expect (userContext, isNotNull );
691
+ expect (userContext, isNull );
669
692
});
670
693
});
671
694
@@ -769,11 +792,20 @@ void main() {
769
792
});
770
793
771
794
group ("getVuid()" , () {
772
- test ("should succeed " , () async {
795
+ test ("by default should return null vuid " , () async {
773
796
var sdk = OptimizelyFlutterSdk (testSDKKey);
797
+ sdk.initializeClient ();
798
+ var response = await sdk.getVuid ();
799
+ expect (response.success, isTrue);
800
+ expect (response.vuid, isNull);
801
+ });
802
+ test ("should return vuid when enableVuid true" , () async {
803
+ const settings = SDKSettings (enableVuid: true );
804
+ var sdk = OptimizelyFlutterSdk (testSDKKey, sdkSettings: settings);
805
+ sdk.initializeClient ();
774
806
var response = await sdk.getVuid ();
775
807
expect (response.success, isTrue);
776
- expect (response.vuid, equals (vuid) );
808
+ expect (response.vuid, "vuid_123" );
777
809
});
778
810
});
779
811
0 commit comments