-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.test.js
140 lines (121 loc) · 3.71 KB
/
index.test.js
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
const split = require("./splitter").split;
const splitWithTiming = require("./splitter").splitWithTiming;
// Validaton
test("invalid test for invalid node-index", async () => {
expect(() => {
split("./data/test-missing", -1, 1);
}).toThrow(Error);
});
test("invalid test for node-index out-of-bounds", async () => {
expect(() => {
split("./data/test-missing", 3, 3);
}).toThrow(Error);
});
test("invalid test for invalid node-total", async () => {
expect(() => {
split("./data/test-missing", 0, 0);
}).toThrow(Error);
expect(() => {
split("./data/test-missing", 0, -1);
}).toThrow(Error);
});
// Split
test("valid tests for a single test", async () => {
var tests = await split("./data/test-1", 0, 3);
expect(tests).toEqual("--tests Hello1Test");
});
test("valid tests for a multiple test", async () => {
var tests = await split("./data/test-1", 0, 1);
expect(tests).toEqual(
"--tests Hello1Test --tests Hello2Test --tests Hello3Test"
);
});
test("valid tests for a mix of kotlin & java tests", async () => {
var tests = await split("./data/test-3", 0, 1);
expect(tests).toEqual("--tests Hello1Test --tests Hello2Test");
});
test("valid tests for a multiple test with single ignore file", async () => {
var tests = await split("./data/test-1", 0, 1, ["Hello3Test.kt"]);
expect(tests).toEqual("--tests Hello1Test --tests Hello2Test");
});
test("valid tests for a multiple test with multiple ignore files", async () => {
var tests = await split("./data/test-1", 0, 1, [
"Hello3Test.kt",
"Hello2Test.kt",
]);
expect(tests).toEqual("--tests Hello1Test");
});
test("invalid test for missing directory", async () => {
var tests = await split("./data/test-missing", 0, 1);
expect(tests).toEqual("");
});
// Split with Timings
test("valid tests with timings for a single test", async () => {
var tests = await splitWithTiming(
"./data/test-1",
"./data/test-result/test-app-result/",
1,
3
);
expect(tests).toEqual("--tests com.sample.test.Hello1Test");
});
test("valid tests with timings for a last single test", async () => {
var tests = await splitWithTiming(
"./data/test-1",
"./data/test-result/test-app-result/",
2,
3
);
expect(tests).toEqual("--tests com.sample.test.Hello3Test");
});
test("valid tests with timings for a multiple test", async () => {
var tests = await splitWithTiming(
"./data/test-1",
"./data/test-result/test-app-result/",
0,
1
);
expect(tests).toEqual(
"--tests com.sample.test.Hello2Test --tests com.sample.test.Hello3Test --tests com.sample.test.Hello1Test"
);
});
test("invalid tests with timings not in sync for a single test", async () => {
var tests = await splitWithTiming(
"./data/test-1",
"./data/test-result/test-app2-result/",
1,
3
);
expect(tests).toEqual("--tests Hello2Test");
});
test("invalid tests with timings not in sync for a multiple test", async () => {
var tests = await splitWithTiming(
"./data/test-1",
"./data/test-result/test-app2-result/",
0,
1
);
expect(tests).toEqual(
"--tests Hello1Test --tests Hello2Test --tests Hello3Test"
);
});
test("invalid tests with timings not in sync for a multiple subdirectory tests", async () => {
var tests = await splitWithTiming(
"./data/test-3",
"./data/test-result/test-app3-result/",
0,
1
);
expect(tests).toEqual("--tests Hello1Test --tests Hello2Test");
});
test("valid tests with timings for a multiple subdirectory tests", async () => {
var tests = await splitWithTiming(
"./data/test-4",
"./data/test-result/test-app3-result/",
0,
1
);
expect(tests).toEqual(
"--tests com.sample.sub2.test.Hello1Test --tests com.sample.sub1.test.Hello1Test"
);
});