-
Notifications
You must be signed in to change notification settings - Fork 2.2k
/
get-unpublished-packages.test.js
90 lines (77 loc) · 2.1 KB
/
get-unpublished-packages.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
"use strict";
jest.mock("@evocateur/pacote/packument");
// mocked module(s)
const getPackument = require("@evocateur/pacote/packument");
// helpers
const PackageGraph = require("@lerna/package-graph");
const { getPackages } = require("@lerna/project");
const initFixture = require("@lerna-test/init-fixture")(__dirname);
// file under test
const getUnpublishedPackages = require("../lib/get-unpublished-packages");
getPackument.mockImplementation(async pkg => {
if (pkg === "package-1") {
return {
versions: {},
};
}
if (pkg === "package-2") {
return {
versions: {
"1.0.0": {},
},
};
}
throw new Error("package does not exist");
});
test("getUnpublishedPackages", async () => {
const cwd = await initFixture("licenses-names");
const packages = await getPackages(cwd);
const packageGraph = new PackageGraph(packages);
const opts = new Map();
const pkgs = await getUnpublishedPackages(packageGraph, opts);
expect(pkgs).toMatchInlineSnapshot(`
Array [
PackageGraphNode {
"externalDependencies": Map {},
"localDependencies": Map {},
"localDependents": Map {},
"name": "package-1",
},
PackageGraphNode {
"externalDependencies": Map {},
"localDependencies": Map {},
"localDependents": Map {},
"name": "package-3",
},
PackageGraphNode {
"externalDependencies": Map {},
"localDependencies": Map {},
"localDependents": Map {},
"name": "package-4",
},
PackageGraphNode {
"externalDependencies": Map {},
"localDependencies": Map {},
"localDependents": Map {},
"name": "package-5",
},
]
`);
});
test("getUnpublishedPackages with private package", async () => {
const cwd = await initFixture("public-private");
const packages = await getPackages(cwd);
const packageGraph = new PackageGraph(packages);
const opts = new Map();
const pkgs = await getUnpublishedPackages(packageGraph, opts);
expect(pkgs).toMatchInlineSnapshot(`
Array [
PackageGraphNode {
"externalDependencies": Map {},
"localDependencies": Map {},
"localDependents": Map {},
"name": "package-1",
},
]
`);
});