Skip to content

Commit 4fffabe

Browse files
committed
[FIX] ui5Framework t8r: Resolve versionOverride string
Resolve "latest" to latest version.
1 parent b760d99 commit 4fffabe

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

lib/translators/ui5Framework.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -136,17 +136,24 @@ module.exports = {
136136
);
137137
}
138138

139+
let Resolver;
140+
if (frameworkName === "OpenUI5") {
141+
Resolver = require("../ui5Framework/Openui5Resolver");
142+
} else if (frameworkName === "SAPUI5") {
143+
Resolver = require("../ui5Framework/Sapui5Resolver");
144+
}
145+
139146
let version;
140147
if (!tree.framework.version) {
141148
throw new Error(
142149
`framework.version is not defined for project ${tree.id}`
143150
);
144151
} else if (options.versionOverride) {
152+
version = await Resolver.resolveVersion(options.versionOverride, {cwd: tree.path});
145153
log.info(
146154
`Overriding configured ${frameworkName} version ` +
147-
`${tree.framework.version} with supplied version ${options.versionOverride}`
155+
`${tree.framework.version} with version ${version}`
148156
);
149-
version = options.versionOverride;
150157
} else {
151158
version = tree.framework.version;
152159
}
@@ -159,14 +166,7 @@ module.exports = {
159166

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

162-
let resolver;
163-
if (frameworkName === "OpenUI5") {
164-
const Openui5Resolver = require("../ui5Framework/Openui5Resolver");
165-
resolver = new Openui5Resolver({cwd: tree.path, version});
166-
} else if (frameworkName === "SAPUI5") {
167-
const Sapui5Resolver = require("../ui5Framework/Sapui5Resolver");
168-
resolver = new Sapui5Resolver({cwd: tree.path, version});
169-
}
169+
const resolver = new Resolver({cwd: tree.path, version});
170170

171171
let startTime;
172172
if (log.isLevelEnabled("verbose")) {

test/lib/translators/ui5Framework.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ test.beforeEach((t) => {
1313
install: t.context.Sapui5ResolverInstallStub
1414
};
1515
});
16+
t.context.Sapui5ResolverResolveVersionStub = sinon.stub();
17+
t.context.Sapui5ResolverStub.resolveVersion = t.context.Sapui5ResolverResolveVersionStub;
1618
mock("../../../lib/ui5Framework/Sapui5Resolver", t.context.Sapui5ResolverStub);
1719

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

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

125+
t.context.Sapui5ResolverResolveVersionStub.resolves("1.99.9");
126+
123127
const getProjectStub = sinon.stub();
124128
getProjectStub.onFirstCall().returns({fake: "metadata-project-1"});
125129
getProjectStub.onSecondCall().returns({fake: "metadata-project-2"});
@@ -131,10 +135,10 @@ test.serial("generateDependencyTree (with versionOverride)", async (t) => {
131135
};
132136
});
133137

134-
await ui5Framework.generateDependencyTree(tree, {versionOverride: "1.99.0"});
138+
await ui5Framework.generateDependencyTree(tree, {versionOverride: "1.99"});
135139

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

0 commit comments

Comments
 (0)