-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMockAnalyticsData.swift
More file actions
48 lines (40 loc) · 1.11 KB
/
MockAnalyticsData.swift
File metadata and controls
48 lines (40 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//
// MockAnalyticsData.swift
// CTAnalyticsTests
//
// Created by Mark Pospesel on 7/20/21.
//
import Foundation
@testable import CTAnalytics
/// Sample Analytics data for unit tests
struct MockAnalyticsData {
let screens = [
"loginScreen",
"homeScreen",
"menuScreen"
]
let userProperties: [(String, String)] = [
("user", "Bob"),
("user", "Alice"), // repeat title
("isProduction", "true"),
("environment", "sandbox")
]
let events: [(String, Metadata?)] = [
("login", ["user": "Bob", "password": "secret"]),
("lowMemory", nil),
("signOut", ["isManual": true])
]
var allEvents: [AnalyticsEvent] {
var allEvents: [AnalyticsEvent] = []
screens.forEach {
allEvents.append(.screenView(screenName: $0))
}
userProperties.forEach {
allEvents.append(.userProperty(name: $0.0, value: $0.1))
}
events.forEach {
allEvents.append(.event(name: $0.0, parameters: $0.1))
}
return allEvents
}
}