Skip to content
Snippets Groups Projects
Unverified Commit 732fcfd4 authored by mofleury's avatar mofleury Committed by GitHub
Browse files

fix: upgrade sorting by file replacement position (#7827)

parent 147c3112
No related branches found
No related tags found
No related merge requests found
......@@ -136,6 +136,6 @@ Object {
}
`;
exports[`workers/repository/updates/generate generateBranchConfig() handles upgrades 1`] = `"some-title ()"`;
exports[`workers/repository/updates/generate generateBranchConfig() handles upgrades 1`] = `"some-title (patch)"`;
exports[`workers/repository/updates/generate generateBranchConfig() supports manual prTitle 1`] = `"upgrade some-dep"`;
......@@ -482,5 +482,41 @@ describe('workers/repository/updates/generate', () => {
const res = generateBranchConfig(branch);
expect(res.prTitle).toMatchSnapshot();
});
it('sorts upgrades, without position first', () => {
const branch: BranchUpgradeConfig[] = [
{
depName: 'some-dep1',
branchName: 'some-branch',
prTitle: 'some-title',
newValue: '0.6.0',
fileReplacePosition: 1,
},
{
depName: 'some-dep2',
branchName: 'some-branch',
prTitle: 'some-title',
newValue: '0.6.0',
fileReplacePosition: undefined,
},
{
depName: 'some-dep3',
branchName: 'some-branch',
prTitle: 'some-title',
newValue: '0.6.0',
fileReplacePosition: 4,
},
{
depName: 'some-dep4',
branchName: 'some-branch',
prTitle: 'some-title',
newValue: '0.6.0',
fileReplacePosition: undefined,
},
];
const res = generateBranchConfig(branch);
expect(
res.upgrades.map((upgrade) => upgrade.fileReplacePosition)
).toStrictEqual([undefined, undefined, 4, 1]);
});
});
});
......@@ -277,6 +277,16 @@ export function generateBranchConfig(
// This is because we need to replace from the bottom of the file up
return a.fileReplacePosition > b.fileReplacePosition ? -1 : 1;
}
// make sure that ordering is consistent :
// items without position will be first in the list.
if (a.fileReplacePosition) {
return 1;
}
if (b.fileReplacePosition) {
return -1;
}
if (a.depName < b.depName) {
return -1;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment