Skip to content

Commit

Permalink
Add sortingMap to all test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
jalal246 committed Mar 16, 2020
1 parent 9e1d9d9 commit bee6f5b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 11 deletions.
23 changes: 20 additions & 3 deletions src/packageSorter.js
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,24 @@ function packageSorter(packages = [], coreDependency) {
* 2- can't discover the coreDep (which may be due to packages not depending
* on each other aka already sorted)
*/
if (packages.length <= 1) return { sorted: packages, unSorted };
if (packages.length <= 1)
return {
sorted: packages,
unSorted,
sortingMap
};

coreDep = coreDependency || getCoreName(packages);

if (!coreDep) return { sorted: packages, unSorted };
/**
* TODO: sortingMap should not be empty
*/
if (!coreDep)
return {
sorted: packages,
unSorted,
sortingMap
};

const totalLength = packages.length;
sorted = [];
Expand All @@ -169,7 +182,11 @@ function packageSorter(packages = [], coreDependency) {
}
}

return { sorted, unSorted, sortingMap };
return {
sorted,
unSorted,
sortingMap
};
}

module.exports = packageSorter;
22 changes: 14 additions & 8 deletions test/packageSorter.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ describe("sortPackages test", () => {
expect(sorted).to.have.ordered.members(expectedResult);

// all sorted, so unSorted is empty
expect(unSorted.length).to.be.equal(0);
expect(unSorted).to.be.deep.equal([]);

// checking sorting map
expect(sortingMap).to.be.deep.equal([
Expand Down Expand Up @@ -89,7 +89,7 @@ describe("sortPackages test", () => {
];

expect(sorted).to.have.ordered.members(expectedResult);
expect(unSorted.length).to.be.equal(0);
expect(unSorted).to.be.deep.equal([]);
expect(sortingMap).to.be.deep.equal([
{ from: 1, to: 0 },
{ from: 3, to: 1 },
Expand Down Expand Up @@ -145,7 +145,7 @@ describe("sortPackages test", () => {
];

expect(sorted).to.have.ordered.members(expectedResult);
expect(unSorted.length).to.be.equal(0);
expect(unSorted).to.be.deep.equal([]);
expect(sortingMap).to.be.deep.equal([
{ from: 0, to: 0 },
{ from: 1, to: 1 },
Expand Down Expand Up @@ -179,10 +179,11 @@ describe("sortPackages test", () => {
};

const packages = [pkg10, pkg11, pkg12];
const { sorted, unSorted } = sortPackages(packages, "@folo");
const { sorted, sortingMap, unSorted } = sortPackages(packages, "@folo");

expect(sorted.length).to.be.equal(0);
expect(sorted).to.be.deep.equal([]);
expect(unSorted).to.have.ordered.members([pkg12, pkg11, pkg10]);
expect(sortingMap).to.be.deep.equal([]);
});

it("returns only packages that able to sort them, ignore the other", () => {
Expand All @@ -206,9 +207,13 @@ describe("sortPackages test", () => {
};

const packages = [pkg20, pkg21, pkg22];
const { sorted, unSorted } = sortPackages(packages, "@folo");
const { sorted, sortingMap, unSorted } = sortPackages(packages, "@folo");

expect(sorted).to.have.ordered.members([pkg22, pkg21]);
expect(sortingMap).to.be.deep.equal([
{ from: 2, to: 0 },
{ from: 1, to: 1 }
]);
expect(unSorted).to.have.ordered.members([pkg20]);
});

Expand Down Expand Up @@ -238,9 +243,10 @@ describe("sortPackages test", () => {
};
const packages = [pkgUN1, pkgUN2, pkgUN3];

const { sorted, unSorted } = sortPackages(packages);
const { sorted, sortingMap, unSorted } = sortPackages(packages);

expect(sorted).to.have.ordered.members(packages);
expect(unSorted.length).to.be.equal(0);
expect(sortingMap).to.be.deep.equal([]);
expect(unSorted).to.be.deep.equal([]);
});
});

0 comments on commit bee6f5b

Please sign in to comment.