Skip to content

Commit 254b100

Browse files
committed
add tests for overrides functionality
1 parent b2255a0 commit 254b100

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

test/dependency-manager-adapters/npm-adapter-test.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,75 @@ describe('npmAdapter', () => {
402402
expect(resultJSON.dependencies['ember-cli-babel']).to.equal('6.0.0');
403403
});
404404

405+
describe('overrides', () => {
406+
it('adds an override if you use a pre-release version for something', () => {
407+
let npmAdapter = new NpmAdapter({
408+
cwd: tmpdir,
409+
});
410+
let packageJSON = { dependencies: { ember: '4.1.4' } };
411+
let depSet = {
412+
dependencies: { ember: '4.8.0-beta.1' },
413+
};
414+
415+
let resultJSON = npmAdapter._packageJSONForDependencySet(packageJSON, depSet);
416+
417+
expect(resultJSON).to.deep.equal({
418+
dependencies: { ember: '4.8.0-beta.1' },
419+
overrides: { ember: '$ember' },
420+
});
421+
});
422+
423+
it('does not add an override if you use a pre-release version with yarn', () => {
424+
let npmAdapter = new NpmAdapter({
425+
cwd: tmpdir,
426+
useYarnCommand: true,
427+
});
428+
let packageJSON = { dependencies: { ember: '4.1.4' } };
429+
let depSet = {
430+
dependencies: { ember: '4.8.0-beta.1' },
431+
};
432+
433+
let resultJSON = npmAdapter._packageJSONForDependencySet(packageJSON, depSet);
434+
435+
expect(resultJSON).to.deep.equal({
436+
dependencies: { ember: '4.8.0-beta.1' },
437+
});
438+
});
439+
440+
it('adds an override if you specify a version with a link to a .tgz file', () => {
441+
let npmAdapter = new NpmAdapter({
442+
cwd: tmpdir,
443+
});
444+
let packageJSON = { dependencies: { ember: '4.1.4' } };
445+
let depSet = {
446+
dependencies: { ember: 'https://somesite.com/dependencies/funtime.tgz' },
447+
};
448+
449+
let resultJSON = npmAdapter._packageJSONForDependencySet(packageJSON, depSet);
450+
451+
expect(resultJSON).to.deep.equal({
452+
dependencies: { ember: 'https://somesite.com/dependencies/funtime.tgz' },
453+
overrides: { ember: '$ember' },
454+
});
455+
});
456+
457+
it('does not add an override if you specify any other kind of link', () => {
458+
let npmAdapter = new NpmAdapter({
459+
cwd: tmpdir,
460+
});
461+
let packageJSON = { dependencies: { ember: '4.1.4' } };
462+
let depSet = {
463+
dependencies: { ember: 'https://github.com/github/super-secret' },
464+
};
465+
466+
let resultJSON = npmAdapter._packageJSONForDependencySet(packageJSON, depSet);
467+
468+
expect(resultJSON).to.deep.equal({
469+
dependencies: { ember: 'https://github.com/github/super-secret' },
470+
});
471+
});
472+
});
473+
405474
describe('ember property', () => {
406475
it('adds the ember property to project package.json', () => {
407476
let npmAdapter = new NpmAdapter({

0 commit comments

Comments
 (0)