Skip to content

Commit 39ce284

Browse files
committed
test(auto-replace): add regression test for #36461
This ensures an update with both an newValue and a newDigest is accepted by renovate (before only one of them worked, if both were updated it would fail).
1 parent e807895 commit 39ce284

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

lib/workers/repository/update/branch/auto-replace.spec.ts

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,6 +1347,69 @@ describe('workers/repository/update/branch/auto-replace', () => {
13471347
);
13481348
});
13491349

1350+
it('jsonata: update currentValue', async () => {
1351+
const source =
1352+
'[ { "version": "1.2.3", "digest": "abcdef", "package": "foo" } ]';
1353+
upgrade.manager = 'jsonata';
1354+
upgrade.depName = 'foo';
1355+
upgrade.currentValue = '1.2.3';
1356+
upgrade.newValue = '1.2.4';
1357+
upgrade.depIndex = 0;
1358+
upgrade.packageFile = 'deps.json';
1359+
upgrade.fileFormat = 'json';
1360+
upgrade.datasourceTemplate = 'github-releases';
1361+
upgrade.matchStrings = [
1362+
'*.{"depName": package, "currentDigest": digest, "currentValue": version }',
1363+
];
1364+
1365+
const res = await doAutoReplace(upgrade, source, reuseExistingBranch);
1366+
expect(res).toBe(
1367+
'[ { "version": "1.2.4", "digest": "abcdef", "package": "foo" } ]',
1368+
);
1369+
});
1370+
1371+
it('jsonata: update currentDigest', async () => {
1372+
const source =
1373+
'[ { "version": "1.2.3", "digest": "abcdef", "package": "foo" } ]';
1374+
upgrade.manager = 'jsonata';
1375+
upgrade.depName = 'foo';
1376+
upgrade.currentDigest = 'abcdef';
1377+
upgrade.newDigest = 'badbeef';
1378+
upgrade.depIndex = 0;
1379+
upgrade.packageFile = 'deps.json';
1380+
upgrade.fileFormat = 'json';
1381+
upgrade.datasourceTemplate = 'github-releases';
1382+
upgrade.matchStrings = [
1383+
'*.{"depName": package, "currentDigest": digest, "currentValue": version }',
1384+
];
1385+
const res = await doAutoReplace(upgrade, source, reuseExistingBranch);
1386+
expect(res).toBe(
1387+
'[ { "version": "1.2.3", "digest": "badbeef", "package": "foo" } ]',
1388+
);
1389+
});
1390+
1391+
it('jsonata: update currentValue and currentDigest', async () => {
1392+
const source =
1393+
'[ { "version": "1.2.3", "digest": "abcdef", "package": "foo" } ]';
1394+
upgrade.manager = 'jsonata';
1395+
upgrade.depName = 'foo';
1396+
upgrade.currentValue = '1.2.3';
1397+
upgrade.newValue = '1.2.4';
1398+
upgrade.currentDigest = 'abcdef';
1399+
upgrade.newDigest = 'badbeef';
1400+
upgrade.depIndex = 0;
1401+
upgrade.packageFile = 'deps.json';
1402+
upgrade.fileFormat = 'json';
1403+
upgrade.datasourceTemplate = 'github-releases';
1404+
upgrade.matchStrings = [
1405+
'*.{"depName": package, "currentDigest": digest, "currentValue": version }',
1406+
];
1407+
const res = await doAutoReplace(upgrade, source, reuseExistingBranch);
1408+
expect(res).toBe(
1409+
'[ { "version": "1.2.4", "digest": "badbeef", "package": "foo" } ]',
1410+
);
1411+
});
1412+
13501413
it('github-actions: updates with newValue only', async () => {
13511414
const githubAction = codeBlock`
13521415
jobs:

0 commit comments

Comments
 (0)