Skip to content

Commit

Permalink
[FIX] ui5Framework t8r: Resolve versionOverride string
Browse files Browse the repository at this point in the history
Resolve "latest" to latest version.
  • Loading branch information
matz3 committed Apr 1, 2020
1 parent b760d99 commit 4fffabe
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 12 deletions.
20 changes: 10 additions & 10 deletions lib/translators/ui5Framework.js
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@ module.exports = {
);
}

let Resolver;
if (frameworkName === "OpenUI5") {
Resolver = require("../ui5Framework/Openui5Resolver");
} else if (frameworkName === "SAPUI5") {
Resolver = require("../ui5Framework/Sapui5Resolver");
}

let version;
if (!tree.framework.version) {
throw new Error(
`framework.version is not defined for project ${tree.id}`
);
} else if (options.versionOverride) {
version = await Resolver.resolveVersion(options.versionOverride, {cwd: tree.path});
log.info(
`Overriding configured ${frameworkName} version ` +
`${tree.framework.version} with supplied version ${options.versionOverride}`
`${tree.framework.version} with version ${version}`
);
version = options.versionOverride;
} else {
version = tree.framework.version;
}
Expand All @@ -159,14 +166,7 @@ module.exports = {

log.info(`Using ${frameworkName} version: ${version}`);

let resolver;
if (frameworkName === "OpenUI5") {
const Openui5Resolver = require("../ui5Framework/Openui5Resolver");
resolver = new Openui5Resolver({cwd: tree.path, version});
} else if (frameworkName === "SAPUI5") {
const Sapui5Resolver = require("../ui5Framework/Sapui5Resolver");
resolver = new Sapui5Resolver({cwd: tree.path, version});
}
const resolver = new Resolver({cwd: tree.path, version});

let startTime;
if (log.isLevelEnabled("verbose")) {
Expand Down
8 changes: 6 additions & 2 deletions test/lib/translators/ui5Framework.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ test.beforeEach((t) => {
install: t.context.Sapui5ResolverInstallStub
};
});
t.context.Sapui5ResolverResolveVersionStub = sinon.stub();
t.context.Sapui5ResolverStub.resolveVersion = t.context.Sapui5ResolverResolveVersionStub;
mock("../../../lib/ui5Framework/Sapui5Resolver", t.context.Sapui5ResolverStub);

t.context.Openui5ResolverStub = sinon.stub();
Expand Down Expand Up @@ -120,6 +122,8 @@ test.serial("generateDependencyTree (with versionOverride)", async (t) => {

t.context.Sapui5ResolverInstallStub.resolves({libraryMetadata});

t.context.Sapui5ResolverResolveVersionStub.resolves("1.99.9");

const getProjectStub = sinon.stub();
getProjectStub.onFirstCall().returns({fake: "metadata-project-1"});
getProjectStub.onSecondCall().returns({fake: "metadata-project-2"});
Expand All @@ -131,10 +135,10 @@ test.serial("generateDependencyTree (with versionOverride)", async (t) => {
};
});

await ui5Framework.generateDependencyTree(tree, {versionOverride: "1.99.0"});
await ui5Framework.generateDependencyTree(tree, {versionOverride: "1.99"});

t.is(t.context.Sapui5ResolverStub.callCount, 1, "Sapui5Resolver#constructor should be called once");
t.deepEqual(t.context.Sapui5ResolverStub.getCall(0).args, [{cwd: tree.path, version: "1.99.0"}],
t.deepEqual(t.context.Sapui5ResolverStub.getCall(0).args, [{cwd: tree.path, version: "1.99.9"}],
"Sapui5Resolver#constructor should be called with expected args");
});

Expand Down

0 comments on commit 4fffabe

Please sign in to comment.