-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathgetTestFrameworkName.spec.ts
More file actions
117 lines (105 loc) · 2.97 KB
/
getTestFrameworkName.spec.ts
File metadata and controls
117 lines (105 loc) · 2.97 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
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
// Import Node.js Dependencies
import { describe, it } from "node:test";
import assert from "node:assert/strict";
// Import Internal Dependencies
import { getTestFrameworkName } from "../src/utils/index.ts";
describe("getTestFrameworkName()", () => {
it("Should return N/A", () => {
assert.equal(getTestFrameworkName({ name: "test", version: "1.0.0", test: "2.0.0", test2: "3.0.0" }), "N/A");
});
it("Should return ava", () => {
const packageJson = {
name: "test",
version: "1.0.0",
devDependencies: {
ava: "^2.0.0"
}
};
assert.equal(getTestFrameworkName(packageJson), "ava");
});
it("Should return jest", () => {
const packageJson = {
name: "test",
version: "1.0.0",
devDependencies: {
jest: "^2.0.0"
}
};
assert.equal(getTestFrameworkName(packageJson), "jest");
});
it("Should return japa", () => {
const packageJson = {
name: "test",
version: "1.0.0",
devDependencies: {
"@japa/runner": "^2.0.0"
}
};
assert.equal(getTestFrameworkName(packageJson), "japa");
});
it("Should return tape", () => {
const packageJson = {
name: "test",
version: "1.0.0",
devDependencies: {
tape: "^2.0.0"
}
};
assert.equal(getTestFrameworkName(packageJson), "tape");
});
it("Should return mocha", () => {
const packageJson = {
name: "test",
version: "1.0.0",
devDependencies: {
mocha: "^2.0.0"
}
};
assert.equal(getTestFrameworkName(packageJson), "mocha");
});
describe("node:test", () => {
it("Should return node:test for test script", () => {
const packageJson = {
name: "test",
version: "1.0.0",
scripts: {
test: "node --test"
}
};
assert.equal(getTestFrameworkName(packageJson), "node:test");
});
it("Should return node:test when a nested script uses node --test", () => {
const packageJson = {
name: "test",
version: "1.0.0",
scripts: {
test: "c8 --all --src ./src -r html npm run test-only",
"test-only": "glob -c \"node --loader=esmock --no-warnings --test-concurrency 1 --test\" \"test/**/*.test.js\""
}
};
assert.equal(getTestFrameworkName(packageJson), "node:test");
});
it("Should return node:test when a nested script uses node --test, recursively", () => {
const packageJson = {
name: "test",
version: "1.0.0",
scripts: {
test: "npm run foo",
foo: "npm run bar",
bar: "node --test"
}
};
assert.equal(getTestFrameworkName(packageJson), "node:test");
});
it("Should return node:test for test script when using tsx", () => {
const packageJson = {
name: "test",
version: "1.0.0",
scripts: {
test: "tsx --test"
}
};
assert.equal(getTestFrameworkName(packageJson), "node:test");
});
});
});