Skip to content

Commit c694a57

Browse files
wip: Update holdout sample data
1 parent b337b35 commit c694a57

File tree

1 file changed

+56
-22
lines changed

1 file changed

+56
-22
lines changed

Tests/OptimizelyTests-DataModel/HoldoutTests.swift

Lines changed: 56 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,50 @@ import XCTest
2020
// MARK: - Sample Data
2121

2222
class HoldoutTests: XCTestCase {
23+
static var variationData: [String: Any] = ["id": "553339214",
24+
"key": "house",
25+
"featureEnabled": true,
26+
"variables": [["id": "553339214", "value": "100"]]]
27+
28+
static var trafficAllocationData: [String: Any] = ["entityId": "553339214", "endOfRange": 5000]
29+
30+
static var conditionHolderData: [Any] = ["or", ["name": "geo",
31+
"type": "custom_attribute",
32+
"match": "exact",
33+
"value": 30]]
34+
2335
/// Global holoout without included and excluded key
2436
static var sampleData: [String: Any] = ["id": "11111",
2537
"key": "background",
2638
"status": "Running",
2739
"layerId": "22222",
28-
"variations": [VariationTests.sampleData],
29-
"trafficAllocation": [TrafficAllocationTests.sampleData],
40+
"variations": [HoldoutTests.variationData],
41+
"trafficAllocation": [HoldoutTests.trafficAllocationData],
42+
"audienceIds": ["33333"],
43+
"audienceConditions": HoldoutTests.conditionHolderData]
44+
45+
static var sampleDataWithIncludedFlags: [String: Any] = ["id": "11111",
46+
"key": "background",
47+
"status": "Running",
48+
"layerId": "22222",
49+
"variations": [HoldoutTests.variationData],
50+
"trafficAllocation": [HoldoutTests.trafficAllocationData],
3051
"audienceIds": ["33333"],
31-
"audienceConditions": ConditionHolderTests.sampleData]
52+
"audienceConditions": HoldoutTests.conditionHolderData,
53+
"includedFlags": ["4444", "5555"]]
54+
55+
static var sampleDataWithIncludedAndExcludedFlags: [String: Any] = ["id": "11111",
56+
"key": "background",
57+
"status": "Running",
58+
"layerId": "22222",
59+
"variations": [HoldoutTests.variationData],
60+
"trafficAllocation": [HoldoutTests.trafficAllocationData],
61+
"audienceIds": ["33333"],
62+
"audienceConditions": HoldoutTests.conditionHolderData,
63+
"includedFlags": ["4444", "5555"],
64+
"excludedFlags": ["8888", "9999"]]
65+
66+
3267

3368
}
3469

@@ -44,44 +79,43 @@ extension HoldoutTests {
4479
XCTAssert(model.key == "background")
4580
XCTAssert(model.status == .running)
4681
XCTAssert(model.layerId == "22222")
47-
XCTAssert(model.variations == [try! OTUtils.model(from: VariationTests.sampleData)])
48-
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: TrafficAllocationTests.sampleData)])
82+
XCTAssert(model.variations == [try! OTUtils.model(from: HoldoutTests.variationData)])
83+
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: HoldoutTests.trafficAllocationData)])
4984
XCTAssert(model.audienceIds == ["33333"])
50-
XCTAssert(model.audienceConditions == (try! OTUtils.model(from: ConditionHolderTests.sampleData)))
85+
XCTAssert(model.audienceConditions == (try! OTUtils.model(from: HoldoutTests.conditionHolderData)))
5186
}
5287

5388
func testDecodeSuccessWithIncludedFlags() {
54-
var data: [String: Any] = HoldoutTests.sampleData
55-
data["includedFlags"] = ["4444", "5555"]
89+
let data: [String: Any] = HoldoutTests.sampleDataWithIncludedFlags
5690

5791
let model: Holdout = try! OTUtils.model(from: data)
5892

5993
XCTAssert(model.id == "11111")
6094
XCTAssert(model.key == "background")
6195
XCTAssert(model.status == .running)
6296
XCTAssert(model.layerId == "22222")
63-
XCTAssert(model.variations == [try! OTUtils.model(from: VariationTests.sampleData)])
64-
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: TrafficAllocationTests.sampleData)])
97+
XCTAssert(model.variations == [try! OTUtils.model(from: HoldoutTests.variationData)])
98+
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: HoldoutTests.trafficAllocationData)])
6599
XCTAssert(model.audienceIds == ["33333"])
66-
XCTAssert(model.audienceConditions == (try! OTUtils.model(from: ConditionHolderTests.sampleData)))
100+
XCTAssert(model.audienceConditions == (try! OTUtils.model(from: HoldoutTests.conditionHolderData)))
67101
XCTAssertEqual(model.includedFlags, ["4444", "5555"])
68102
}
69103

70-
func testDecodeSuccessWithExcludedFlags() {
71-
var data: [String: Any] = HoldoutTests.sampleData
72-
data["excludedFlags"] = ["4444", "5555"]
104+
func testDecodeSuccessWithIncludedAndExcludedFlags() {
105+
let data: [String: Any] = HoldoutTests.sampleDataWithIncludedAndExcludedFlags
73106

74107
let model: Holdout = try! OTUtils.model(from: data)
75108

76109
XCTAssert(model.id == "11111")
77110
XCTAssert(model.key == "background")
78111
XCTAssert(model.status == .running)
79112
XCTAssert(model.layerId == "22222")
80-
XCTAssert(model.variations == [try! OTUtils.model(from: VariationTests.sampleData)])
81-
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: TrafficAllocationTests.sampleData)])
113+
XCTAssert(model.variations == [try! OTUtils.model(from: HoldoutTests.variationData)])
114+
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: HoldoutTests.trafficAllocationData)])
82115
XCTAssert(model.audienceIds == ["33333"])
83-
XCTAssert(model.audienceConditions == (try! OTUtils.model(from: ConditionHolderTests.sampleData)))
84-
XCTAssertEqual(model.excludedFlags, ["4444", "5555"])
116+
XCTAssert(model.audienceConditions == (try! OTUtils.model(from: HoldoutTests.conditionHolderData)))
117+
XCTAssertEqual(model.includedFlags, ["4444", "5555"])
118+
XCTAssertEqual(model.excludedFlags, ["8888", "9999"])
85119
}
86120

87121

@@ -95,8 +129,8 @@ extension HoldoutTests {
95129
XCTAssert(model.key == "background")
96130
XCTAssert(model.status == .running)
97131
XCTAssert(model.layerId == "22222")
98-
XCTAssert(model.variations == [try! OTUtils.model(from: VariationTests.sampleData)])
99-
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: TrafficAllocationTests.sampleData)])
132+
XCTAssert(model.variations == [try! OTUtils.model(from: HoldoutTests.variationData)])
133+
XCTAssert(model.trafficAllocation == [try! OTUtils.model(from: HoldoutTests.trafficAllocationData)])
100134
XCTAssert(model.audienceIds == ["33333"])
101135
}
102136

@@ -172,8 +206,8 @@ extension HoldoutTests {
172206
"key": "background",
173207
"status": "Running",
174208
"layerId": "22222",
175-
"variations": [VariationTests.sampleData],
176-
"trafficAllocation": [TrafficAllocationTests.sampleData],
209+
"variations": [HoldoutTests.variationData],
210+
"trafficAllocation": [HoldoutTests.trafficAllocationData],
177211
"audienceIds": [],
178212
"audienceConditions": [],
179213
"forcedVariations": ["12345": "1234567890"]]

0 commit comments

Comments
 (0)