Skip to content

Commit 2ea917e

Browse files
test: fixes
1 parent 03037e2 commit 2ea917e

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

OptimizelySDK.Tests/DecisionServiceTest.cs

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
*
3-
* Copyright 2017-2021, Optimizely and contributors
3+
* Copyright 2017-2021, 2024 Optimizely and contributors
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
66
* you may not use this file except in compliance with the License.
@@ -65,8 +65,8 @@ public void SetUp()
6565
DecisionService = new DecisionService(new Bucketer(LoggerMock.Object),
6666
ErrorHandlerMock.Object, null, LoggerMock.Object);
6767
DecisionServiceMock = new Mock<DecisionService>(BucketerMock.Object,
68-
ErrorHandlerMock.Object, null, LoggerMock.Object)
69-
{ CallBase = true };
68+
ErrorHandlerMock.Object, null, LoggerMock.Object)
69+
{ CallBase = true };
7070
DecisionReasons = new DecisionReasons();
7171

7272
VariationWithKeyControl =
@@ -294,6 +294,9 @@ public void TestBucketReturnsVariationStoredInUserProfile()
294294
{
295295
var experiment = ProjectConfig.Experiments[6];
296296
var variation = experiment.Variations[0];
297+
var variationResult = Result<Variation>.NewResult(
298+
experiment.Variations[0],
299+
DecisionReasons);
297300
var decision = new Decision(variation.Id);
298301

299302
var userProfile = new UserProfile(UserProfileId, new Dictionary<string, Decision>
@@ -303,8 +306,10 @@ public void TestBucketReturnsVariationStoredInUserProfile()
303306

304307
UserProfileServiceMock.Setup(_ => _.Lookup(UserProfileId)).Returns(userProfile.ToMap());
305308

306-
var decisionService = new DecisionService(BucketerMock.Object, ErrorHandlerMock.Object,
307-
UserProfileServiceMock.Object, LoggerMock.Object);
309+
BucketerMock.
310+
Setup(bm => bm.Bucket(ProjectConfig, experiment, It.IsAny<string>(),
311+
It.IsAny<string>())).
312+
Returns(variationResult);
308313

309314
var optlyObject = new Optimizely(TestData.Datafile, new ValidEventDispatcher(),
310315
LoggerMock.Object);
@@ -313,6 +318,8 @@ public void TestBucketReturnsVariationStoredInUserProfile()
313318
LoggerMock.Object);
314319
OptimizelyUserContextMock.Setup(ouc => ouc.GetUserId()).Returns(UserProfileId);
315320

321+
var decisionService = new DecisionService(BucketerMock.Object, ErrorHandlerMock.Object,
322+
UserProfileServiceMock.Object, LoggerMock.Object);
316323
var actualVariation = decisionService.GetVariation(experiment,
317324
OptimizelyUserContextMock.Object, ProjectConfig);
318325

@@ -739,7 +746,8 @@ public void TestGetVariationForFeatureExperimentGivenNonMutexGroupAndUserIsBucke
739746
DecisionServiceMock.Setup(ds => ds.GetVariation(
740747
ProjectConfig.GetExperimentFromKey("test_experiment_multivariate"),
741748
OptimizelyUserContextMock.Object, ProjectConfig,
742-
It.IsAny<OptimizelyDecideOption[]>())).
749+
It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<UserProfileTracker>(),
750+
It.IsAny<DecisionReasons>())).
743751
Returns(variation);
744752

745753
var featureFlag = ProjectConfig.GetFeatureFlagFromKey("multi_variate_feature");
@@ -792,13 +800,18 @@ public void TestGetVariationForFeatureExperimentGivenMutexGroupAndUserIsBucketed
792800
[Test]
793801
public void TestGetVariationForFeatureExperimentGivenMutexGroupAndUserNotBucketed()
794802
{
795-
var mutexExperiment = ProjectConfig.GetExperimentFromKey("group_experiment_1");
803+
var optlyObject = new Optimizely(TestData.Datafile, new ValidEventDispatcher(),
804+
LoggerMock.Object);
805+
OptimizelyUserContextMock = new Mock<OptimizelyUserContext>(optlyObject,
806+
WhitelistedUserId, new UserAttributes(), ErrorHandlerMock.Object,
807+
LoggerMock.Object);
796808
OptimizelyUserContextMock.Setup(ouc => ouc.GetUserId()).Returns("user1");
797809

798810
DecisionServiceMock.
799811
Setup(ds => ds.GetVariation(It.IsAny<Experiment>(),
800812
It.IsAny<OptimizelyUserContext>(), ProjectConfig,
801-
It.IsAny<OptimizelyDecideOption[]>())).
813+
It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<UserProfileTracker>(),
814+
It.IsAny<DecisionReasons>())).
802815
Returns(Result<Variation>.NullResult(null));
803816

804817
var featureFlag = ProjectConfig.GetFeatureFlagFromKey("boolean_feature");
@@ -1312,6 +1325,11 @@ public void TestGetVariationForFeatureWhenTheUserIsBuckedtedInBothExperimentAndR
13121325
WhitelistedUserId, userAttributes, ErrorHandlerMock.Object, LoggerMock.Object);
13131326
OptimizelyUserContextMock.Setup(ouc => ouc.GetUserId()).Returns(UserProfileId);
13141327

1328+
BucketerMock.
1329+
Setup(bm => bm.Bucket(ProjectConfig, experiment, It.IsAny<string>(),
1330+
It.IsAny<string>())).
1331+
Returns(variation);
1332+
13151333
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
13161334
OptimizelyUserContextMock.Object, ProjectConfig,
13171335
It.IsAny<OptimizelyDecideOption[]>())).

0 commit comments

Comments
 (0)