Skip to content

Commit 5c19e7c

Browse files
authored
Merge pull request #327 from Countly/fix_view_test
fix: auto view test for iOS
2 parents ee11af1 + 3f486f6 commit 5c19e7c

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

example/integration_test/views_tests/auto_view_flow1_test.dart

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -44,28 +44,33 @@ void main() {
4444
List<String> eventList = await getEventQueue();
4545

4646
printQueues(requestList, eventList);
47-
expect(requestList.length, Platform.isAndroid ? 4 : 3);
48-
expect(eventList.length, Platform.isAndroid ? anyOf(8, 9) : 3); // 3 for iOS
47+
expect(requestList.length, 4);
48+
expect(eventList.length, Platform.isAndroid ? anyOf(8, 9) : anyOf(6, 7));
4949
validateBeginSessionRequest(requestList[0]); // validate begin session on 0th idx
5050

5151
Map<String, List<String>> queryParams = Uri.parse('?${requestList[1]}').queryParametersAll;
5252
var rqEvents = jsonDecode(queryParams['events']![0]);
5353
expect(rqEvents.length, Platform.isAndroid ? 3 : 4);
5454
int index = 0;
55-
if(Platform.isAndroid){
55+
if (Platform.isAndroid) {
5656
validateEvent("[CLY]_orientation", <String, dynamic>{'mode': 'portrait'}, eventGiven: rqEvents[index++]);
5757
}
5858
validateView("V1", true, true, viewGiven: rqEvents[index++]);
5959
validateView("V2", false, true, viewGiven: rqEvents[index++]);
60-
if(Platform.isIOS){
61-
validateView("V1", false, false, viewGiven: rqEvents[index++]);
62-
validateView("V2", false, false, viewGiven: rqEvents[index++]);
60+
if (Platform.isIOS) {
61+
int iCached = index;
62+
try {
63+
validateView("V1", false, false, viewGiven: rqEvents[index++]);
64+
validateView("V2", false, false, viewGiven: rqEvents[index++]);
65+
} catch (e) {
66+
index = iCached;
67+
validateView("V2", false, false, viewGiven: rqEvents[index++]);
68+
validateView("V1", false, false, viewGiven: rqEvents[index++]);
69+
}
6370
}
6471

6572
validateEndSessionRequest(requestList[2]); // validate end session on 2nd idx
66-
if(Platform.isAndroid) {
67-
validateBeginSessionRequest(requestList[3]); // validate begin session on 3rd idx
68-
}
73+
validateBeginSessionRequest(requestList[3]); // validate begin session on 3rd idx
6974

7075
index = 0;
7176
if (Platform.isAndroid) {
@@ -82,21 +87,18 @@ void main() {
8287
validateView("V4", false, true, viewStr: eventList[index++]);
8388
validateView("V4", false, false, viewStr: eventList[index++]);
8489
validateView("V3", false, true, viewStr: eventList[index++]);
85-
if(Platform.isAndroid){
86-
validateEvent("[CLY]_orientation", <String, dynamic>{'mode': 'portrait'}, eventStr: eventList[index++]);
87-
}
90+
validateEvent("[CLY]_orientation", <String, dynamic>{'mode': 'portrait'}, eventStr: eventList[index++]);
91+
8892

8993
int iCached = index;
90-
if (Platform.isAndroid) {
91-
try {
92-
validateView("V2", true, true, viewStr: eventList[index++]);
93-
validateView("V2", false, false, viewStr: eventList[index++]);
94-
validateView("V1", false, true, viewStr: eventList[index++]);
95-
} catch (e) {
96-
index = iCached;
97-
validateView("V1", true, true, viewStr: eventList[index++]);
98-
validateView("V2", false, true, viewStr: eventList[index++]);
99-
}
94+
try {
95+
validateView("V2", true, true, viewStr: eventList[index++]);
96+
validateView("V2", false, false, viewStr: eventList[index++]);
97+
validateView("V1", false, true, viewStr: eventList[index++]);
98+
} catch (e) {
99+
index = iCached;
100+
validateView("V1", true, true, viewStr: eventList[index++]);
101+
validateView("V2", false, true, viewStr: eventList[index++]);
100102
}
101103
});
102104
}
@@ -105,10 +107,10 @@ void validateView(String name, bool start, bool visit, {String? viewStr, Map<Str
105107
Map<String, dynamic> segmentation = <String, dynamic>{'name': name, 'segment': Platform.isAndroid ? 'Android' : 'iOS'};
106108

107109
if (visit) {
108-
segmentation['visit'] = Platform.isAndroid ? '1': 1;
110+
segmentation['visit'] = Platform.isAndroid ? '1' : 1;
109111
}
110112
if (start) {
111-
segmentation['start'] = Platform.isAndroid ? '1': 1;
113+
segmentation['start'] = Platform.isAndroid ? '1' : 1;
112114
}
113115
validateEvent("[CLY]_view", segmentation, eventGiven: viewGiven, eventStr: viewStr);
114116
}

0 commit comments

Comments
 (0)