Skip to content

Commit

Permalink
Fix table result output (except for when using workspaces)
Browse files Browse the repository at this point in the history
  • Loading branch information
kategengler committed Mar 20, 2019
1 parent cf17243 commit 64b785f
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 26 deletions.
6 changes: 0 additions & 6 deletions lib/dependency-manager-adapters/bower.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,6 @@ module.exports = CoreObject.extend({
return RSVP.resolve();
}
},
_getDependencySet(depSet) {
if (depSet[this.configKey]) {
return depSet[this.configKey];
}
},
_writeBowerFileWithDepSetChanges(depSet) {
let adapter = this;
let baseBowerJSON;
Expand Down Expand Up @@ -70,7 +65,6 @@ module.exports = CoreObject.extend({

changeToDependencySet(depSet) {
let adapter = this;
depSet = this._getDependencySet(depSet);

debug('Changing to dependency set: %s', JSON.stringify(depSet));

Expand Down
1 change: 0 additions & 1 deletion lib/dependency-manager-adapters/npm.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ module.exports = CoreObject.extend({
});
},
applyDependencySet(depSet) {
depSet = depSet[this.configKey];

debug('Changing to dependency set: %s', JSON.stringify(depSet));

Expand Down
1 change: 1 addition & 0 deletions lib/dependency-manager-adapters/workspace.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ module.exports = CoreObject.extend({
},

changeToDependencySet(depSet) {
// TODO: What should this do for tables? Nesting? Needs different output
this._packageAdapters.forEach(adapter => {
adapter.applyDependencySet(depSet);
});
Expand Down
5 changes: 4 additions & 1 deletion lib/utils/scenario-manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@ module.exports = CoreObject.extend({

changeTo(scenario) {
return mapSeries(this.dependencyManagerAdapters, (depManager) => {
return depManager.changeToDependencySet(scenario);
if (scenario[depManager.configKey]) {
return depManager.changeToDependencySet(scenario[depManager.configKey]);
}
return RSVP.resolve([]);
}).then((results) => {
return RSVP.resolve([].concat.apply([], results));
});
Expand Down
4 changes: 2 additions & 2 deletions test/dependency-manager-adapters/bower-adapter-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ describe('bowerAdapter', () => {
});
});

it('if bower dependencies in dep set, they install is run', () => {
it('if bower dependencies in dep set, then install is run', () => {
let stubbedRunRan = false;
let stubbedRun = function(command, args, opts) {
expect(command).to.equal('node');
Expand All @@ -72,7 +72,7 @@ describe('bowerAdapter', () => {
let adapter = new BowerAdapter({ cwd: tmpdir, run: stubbedRun });
return adapter.setup()
.then(() => {
return adapter.changeToDependencySet({ bower: { dependencies: { 'ember': '*' } } });
return adapter.changeToDependencySet({ dependencies: { 'ember': '*' } });
})
.then(() => {
expect(stubbedRunRan).to.equal(true);
Expand Down
20 changes: 5 additions & 15 deletions test/dependency-manager-adapters/workspace-adapter-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,7 @@ describe('workspaceAdapter', () => {

it('changes specified dependency versions', () => {
return workspaceAdapter.changeToDependencySet({
npm: {
dependencies: { 'ember-cli-babel': '6.0.0' },
},
dependencies: { 'ember-cli-babel': '6.0.0' },
}).then(() => {
assertFileContainsJSON(path.join(tmpdir, 'packages/test/package.json'), {
devDependencies: { 'ember-feature-flags': '1.0.0' },
Expand All @@ -175,9 +173,7 @@ describe('workspaceAdapter', () => {

it('changes specified npm dev dependency versions', () => {
return workspaceAdapter.changeToDependencySet({
npm: {
devDependencies: { 'ember-feature-flags': '2.0.1' },
},
devDependencies: { 'ember-feature-flags': '2.0.1' },
}).then(() => {
assertFileContainsJSON(path.join(tmpdir, 'packages/test/package.json'), {
devDependencies: { 'ember-feature-flags': '2.0.1' },
Expand All @@ -190,9 +186,7 @@ describe('workspaceAdapter', () => {

it('changes specified npm peer dependency versions', () => {
return workspaceAdapter.changeToDependencySet({
npm: {
peerDependencies: { 'ember-cli-sass': '4.5.6' },
},
peerDependencies: { 'ember-cli-sass': '4.5.6' },
}).then(() => {
assertFileContainsJSON(path.join(tmpdir, 'packages/test/package.json'), {
devDependencies: { 'ember-feature-flags': '1.0.0' },
Expand All @@ -205,9 +199,7 @@ describe('workspaceAdapter', () => {

it('changes specified resolution versions', () => {
return workspaceAdapter.changeToDependencySet({
npm: {
resolutions: { 'ember-data': '3.5.0' },
},
resolutions: { 'ember-data': '3.5.0' },
}).then(() => {
assertFileContainsJSON('packages/test/package.json', {
devDependencies: { 'ember-feature-flags': '1.0.0' },
Expand All @@ -220,9 +212,7 @@ describe('workspaceAdapter', () => {

it('can remove a package', () => {
return workspaceAdapter.changeToDependencySet({
npm: {
devDependencies: { 'ember-feature-flags': null },
},
devDependencies: { 'ember-feature-flags': null },
}).then(() => {
assertFileContainsJSON(path.join(tmpdir, 'packages/test/package.json'), {
devDependencies: {},
Expand Down
22 changes: 22 additions & 0 deletions test/tasks/try-each-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,28 @@ describe('tryEach', () => {
expect(output).to.include('Scenario first: SUCCESS');
expect(output).to.include('Scenario second: SUCCESS');
expect(output).to.include('Scenario with-bower-resolutions: SUCCESS');

let tables = output.filter((line) => {
return typeof line === "object";
});

expect(tables[0]).to.eql([
[ 'ember-cli-deploy', '0.5.0', '0.5.0', 'npm'],
[ 'ember', '1.13.0', '1.13.0', 'bower' ],
[ 'bootstrap', 'Not Installed', 'Not Installed', 'bower' ]
]);

expect(tables[1]).to.eql([
[ 'ember-cli-deploy', '0.5.1', '0.5.1', 'npm'],
[ 'ember', '2.0.0', '2.0.0', 'bower' ],
[ 'jquery', '1.11.3', '1.11.3', 'bower' ]
]);

expect(tables[2]).to.eql([
[ 'ember-cli-deploy', '0.5.1', '0.5.1', 'npm'],
[ 'ember', 'components/ember#beta', '3.0.0-beta.2-beta+b4135dfe', 'bower' ]
]);

expect(output).to.include('All 3 scenarios succeeded');
});
});
Expand Down
4 changes: 3 additions & 1 deletion test/utils/scenario-manager-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,21 @@ describe('scenarioManager', () => {
it('changes dependency sets on each of the managers, in order, and concats results', () => {
let fakeAdapters = [
new CoreObject({
configKey: 'adapterA',
changeToDependencySet() {
return RSVP.resolve(['a', 'b', 'r']);
},
}),
new CoreObject({
configKey: 'adapterB',
changeToDependencySet() {
return RSVP.resolve(['u', 'q', 'a']);
},
}),
];

let manager = new ScenarioManager({ dependencyManagerAdapters: fakeAdapters });
return manager.changeTo({}).then((results) => {
return manager.changeTo({ adapterA: {}, adapterB: {} }).then((results) => {
expect(results).to.eql(['a', 'b', 'r', 'u', 'q', 'a']);
});
});
Expand Down

0 comments on commit 64b785f

Please sign in to comment.