-
Notifications
You must be signed in to change notification settings - Fork 41
/
NodeDependency.spec.ts
66 lines (60 loc) · 2.04 KB
/
NodeDependency.spec.ts
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
import {
NodeDependency,
DependencyType,
DependencyDefinition,
} from "../../src/DependencyManager";
test("should fail to load Node dependency", async () => {
expect.assertions(5);
const options: DependencyDefinition = {
name: "NotFound",
package: "notfound",
type: DependencyType.Node,
};
const dependency = new NodeDependency(options);
return await dependency.load().catch(error => {
expect(error.message).toMatch(
'Dependency "NotFound" is required and not installed.'
);
expect(error.message).toMatch("Cannot find module notfound/package.json");
expect(dependency.isInstalled).toBe(false);
expect(dependency.errors).toHaveLength(1);
expect(error.message).toMatch(
'Dependency "NotFound" is required and not installed.\n' +
" - Cannot find module notfound/package.json"
);
});
});
describe("successfully loaded local Node dependency", () => {
test("should successfully load local Node dependency", async () => {
expect.assertions(4);
const options: DependencyDefinition = {
name: "FakeDep",
package: "fakedep",
type: DependencyType.Node,
};
const dependency = new NodeDependency(options);
return await dependency.load().then(isInstalled => {
expect(isInstalled).toBe(true);
expect(dependency.isInstalled).toBe(true);
expect(dependency.errors).toHaveLength(0);
expect(dependency.package).not.toBe(undefined);
});
});
});
describe("successfully loaded global Node dependency", () => {
test("should successfully load global Node dependency", () => {
expect.assertions(4);
const options: DependencyDefinition = {
name: "FakeDep",
package: "global-fakedep",
type: DependencyType.Node,
};
const dependency = new NodeDependency(options);
return dependency.load().then(isInstalled => {
expect(isInstalled).toBe(true);
expect(dependency.isInstalled).toBe(true);
expect(dependency.errors).toHaveLength(0);
expect(dependency.package).not.toBe(undefined);
});
});
});