Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Sources/Implementation/DecisionInfo.swift
Original file line number Diff line number Diff line change
Expand Up @@ -140,17 +140,17 @@ struct DecisionInfo {
decisionInfo[Constants.DecisionInfoKeys.variationKey] = variation?.key ?? NSNull() // keep key in the map even with nil value
decisionInfo[Constants.DecisionInfoKeys.ruleKey] = ruleKey ?? NSNull() //
decisionInfo[Constants.DecisionInfoKeys.reasons] = reasons
}

decisionInfo[Constants.DecisionInfoKeys.decisionEventDispatched] = decisionEventDispatched
decisionInfo[Constants.DecisionInfoKeys.decisionEventDispatched] = decisionEventDispatched

if let expId = experiment?.id {
decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] = expId
if let expId = experiment?.id {
decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] = expId
}
if let varId = variation?.id {
decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] = varId
}
}

if let varId = variation?.id {
decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] = varId
}

return decisionInfo
}

Expand Down
4 changes: 4 additions & 0 deletions Tests/OptimizelyTests-Common/DecisionListenerTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,8 @@ extension DecisionListenerTests {

XCTAssertEqual(decisionInfo[Constants.DecisionInfoKeys.variationKey] as! String, "a") //exp = "exp_with_audience"
XCTAssertEqual(decisionInfo[Constants.DecisionInfoKeys.ruleKey] as! String, "exp_with_audience")
XCTAssertEqual(decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] as! String, "10390977673") //exp = "exp_with_audience"
XCTAssertEqual(decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] as! String, "10389729780")
XCTAssertNotNil(decisionInfo[Constants.DecisionInfoKeys.reasons])
XCTAssertEqual(decisionInfo[Constants.DecisionInfoKeys.decisionEventDispatched] as! Bool, true)
exp.fulfill()
Expand Down Expand Up @@ -925,6 +927,8 @@ extension DecisionListenerTests {

XCTAssertEqual(decisionInfo[Constants.DecisionInfoKeys.variationKey] as! String, "a") //exp = "exp_with_audience"
XCTAssertEqual(decisionInfo[Constants.DecisionInfoKeys.ruleKey] as! String, "exp_with_audience")
XCTAssertEqual(decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] as! String, "10390977673") //exp = "exp_with_audience"
XCTAssertEqual(decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] as! String, "10389729780")
XCTAssertNotNil(decisionInfo[Constants.DecisionInfoKeys.reasons])
XCTAssertEqual(decisionInfo[Constants.DecisionInfoKeys.decisionEventDispatched] as! Bool, true)
exp.fulfill()
Expand Down
26 changes: 0 additions & 26 deletions Tests/OptimizelyTests-Common/DecisionListenerTests_Datafile.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,12 @@ class DecisionListenerTests_Datafile: XCTestCase {
var notificationVariation: String?
var notificationExperiment: String?
var notificationType: String?
var expId: String?
var varId: String?

let exp = expectation(description: "x")

_ = notificationCenter.addDecisionNotificationListener(decisionListener: { (type, _, _, decisionInfo) in
notificationExperiment = decisionInfo[Constants.ExperimentDecisionInfoKeys.experiment] as? String
notificationVariation = decisionInfo[Constants.ExperimentDecisionInfoKeys.variation] as? String
expId = decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] as? String
varId = decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] as? String
notificationType = type
exp.fulfill()
})
Expand All @@ -60,27 +56,19 @@ class DecisionListenerTests_Datafile: XCTestCase {
XCTAssertEqual(variation, "all_traffic_variation")
XCTAssertEqual(notificationExperiment, "ab_running_exp_audience_combo_empty_conditions")
XCTAssertEqual(notificationVariation, "all_traffic_variation")
XCTAssertEqual(expId, "10390977723")
XCTAssertEqual(varId, "10416523170")
XCTAssertEqual(notificationType, Constants.DecisionType.abTest.rawValue)
}

func testDecisionListenerWithActivateWhenUserNotInExperiment() {
var notificationVariation: String?
var notificationExperiment: String?
var notificationType: String?
var expId: String?
var varId: String?

let exp = expectation(description: "x")

_ = notificationCenter.addDecisionNotificationListener(decisionListener: { (type, _, _, decisionInfo) in
notificationExperiment = decisionInfo[Constants.ExperimentDecisionInfoKeys.experiment] as? String
notificationVariation = decisionInfo[Constants.ExperimentDecisionInfoKeys.variation] as? String
expId = decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] as? String
varId = decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] as? String
expId = decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] as? String
varId = decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] as? String
notificationType = type
exp.fulfill()
})
Expand All @@ -93,8 +81,6 @@ class DecisionListenerTests_Datafile: XCTestCase {

XCTAssertEqual(notificationExperiment, "ab_running_exp_audience_combo_exact_foo_or_true__and__42_or_4_2")
XCTAssertEqual(notificationVariation, nil)
XCTAssertEqual(expId, "10390977714")
XCTAssertEqual(varId, nil)
XCTAssertEqual(notificationType, Constants.DecisionType.abTest.rawValue)
notificationCenter.clearAllNotificationListeners()
}
Expand All @@ -107,16 +93,12 @@ class DecisionListenerTests_Datafile: XCTestCase {
var notificationVariation: String?
var notificationExperiment: String?
var notificationType: String?
var expId: String?
var varId: String?

let exp = expectation(description: "x")

_ = notificationCenter.addDecisionNotificationListener(decisionListener: { (type, _, _, decisionInfo) in
notificationExperiment = decisionInfo[Constants.ExperimentDecisionInfoKeys.experiment] as? String
notificationVariation = decisionInfo[Constants.ExperimentDecisionInfoKeys.variation] as? String
expId = decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] as? String
varId = decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] as? String
notificationType = type
exp.fulfill()
})
Expand All @@ -129,24 +111,18 @@ class DecisionListenerTests_Datafile: XCTestCase {
XCTAssertEqual(notificationExperiment, "ab_running_exp_audience_combo_empty_conditions")
XCTAssertEqual(notificationVariation, "all_traffic_variation")
XCTAssertEqual(notificationType, Constants.DecisionType.abTest.rawValue)
XCTAssertEqual(expId, "10390977723")
XCTAssertEqual(varId, "10416523170")
notificationCenter.clearAllNotificationListeners()
}

func testDecisionListenerWithGetVariationWhenUserNotInExperiment() {
var notificationVariation: String?
var notificationExperiment: String?
var notificationType: String?
var expId: String?
var varId: String?
let exp = expectation(description: "x")

_ = notificationCenter.addDecisionNotificationListener(decisionListener: { (type, _, _, decisionInfo) in
notificationExperiment = decisionInfo[Constants.ExperimentDecisionInfoKeys.experiment] as? String
notificationVariation = decisionInfo[Constants.ExperimentDecisionInfoKeys.variation] as? String
expId = decisionInfo[Constants.ExperimentDecisionInfoKeys.experimentId] as? String
varId = decisionInfo[Constants.ExperimentDecisionInfoKeys.variationId] as? String
notificationType = type
exp.fulfill()
})
Expand All @@ -156,8 +132,6 @@ class DecisionListenerTests_Datafile: XCTestCase {

XCTAssertEqual(notificationExperiment, "ab_running_exp_audience_combo_exact_foo_or_true__and__42_or_4_2")
XCTAssertEqual(notificationVariation, nil)
XCTAssertEqual(expId, "10390977714")
XCTAssertEqual(varId, nil)
XCTAssertEqual(notificationType, Constants.DecisionType.abTest.rawValue)
notificationCenter.clearAllNotificationListeners()
}
Expand Down
Loading