Skip to content

Commit 4f5125f

Browse files
committed
Add Integration tests for pnpm
1 parent 3f605a0 commit 4f5125f

File tree

1 file changed

+45
-0
lines changed
  • packages/acceptance-tests/pkg-tests-specs/sources/protocols

1 file changed

+45
-0
lines changed

packages/acceptance-tests/pkg-tests-specs/sources/protocols/git.test.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,26 @@ describe(`Protocols`, () => {
196196
),
197197
);
198198

199+
test(
200+
`it should use pnpm to setup pnpm repositories`,
201+
makeTemporaryEnv(
202+
{
203+
dependencies: {
204+
[`pnpm-project`]: tests.startPackageServer().then(url => `${url}/repositories/pnpm-project.git`),
205+
},
206+
},
207+
async ({path, run, source}) => {
208+
await expect(run(`install`, {
209+
env: {
210+
NODE_ENV: `production`,
211+
},
212+
})).resolves.toBeTruthy();
213+
214+
await expect(source(`require('pnpm-project')`)).resolves.toMatch(/\bpnpm\/[0-9]+/);
215+
},
216+
),
217+
);
218+
199219
test(
200220
`it should guarantee that all dependencies will be installed when using npm to setup npm repositories`,
201221
makeTemporaryEnv(
@@ -263,6 +283,31 @@ describe(`Protocols`, () => {
263283
),
264284
);
265285

286+
test(
287+
`it should support installing specific workspaces from pnpm repositories`,
288+
makeTemporaryEnv(
289+
{
290+
dependencies: {
291+
[`pkg-a`]: tests.startPackageServer().then(url => `${url}/repositories/pnpm-workspaces.git#workspace=pkg-a`),
292+
[`pkg-b`]: tests.startPackageServer().then(url => `${url}/repositories/pnpm-workspaces.git#workspace=pkg-b`),
293+
},
294+
},
295+
async ({path, run, source}) => {
296+
await run(`install`);
297+
298+
await expect(source(`require('pkg-a/package.json')`)).resolves.toMatchObject({
299+
name: `pkg-a`,
300+
version: `1.0.0`,
301+
});
302+
303+
await expect(source(`require('pkg-b/package.json')`)).resolves.toMatchObject({
304+
name: `pkg-b`,
305+
version: `1.0.0`,
306+
});
307+
},
308+
),
309+
);
310+
266311
test(
267312
`it should not use Corepack to fetch Yarn Classic`,
268313
makeTemporaryEnv(

0 commit comments

Comments
 (0)