Skip to content

Commit

Permalink
Simplify path creation in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuajaco committed Nov 19, 2023
1 parent 9be5cb0 commit 3baea8b
Show file tree
Hide file tree
Showing 3 changed files with 129 additions and 246 deletions.
94 changes: 35 additions & 59 deletions tests/findRoot.test.ts
Original file line number Diff line number Diff line change
@@ -1,72 +1,66 @@
import assert from "node:assert";
import { describe, it } from "node:test";
import { join, resolve } from "node:path";
import { resolve } from "node:path";
import { posixResolve } from "./posixResolve";
import { createWorkspacesCache, findWorkspacesRoot } from "../src";

describe("findWorkspacesRoot", () => {
it("returns root for yarn/npm", () => {
assert.deepStrictEqual(
findWorkspacesRoot(join("fixtures", "yarn-npm", "foo", "bar")),
{
location: posixResolve("fixtures", "yarn-npm"),
globs: ["packages/*"],
},
);
assert.deepStrictEqual(findWorkspacesRoot("fixtures/yarn-npm/foo/bar"), {
location: posixResolve("fixtures/yarn-npm"),
globs: ["packages/*"],
});
});

it("returns root for yarn/npm with packages", () => {
assert.deepStrictEqual(
findWorkspacesRoot(join("fixtures", "yarn-npm-with-packages")),
findWorkspacesRoot("fixtures/yarn-npm-with-packages"),
{
location: posixResolve("fixtures", "yarn-npm-with-packages"),
location: posixResolve("fixtures/yarn-npm-with-packages"),
globs: ["packages/*"],
},
);
});

it("returns root for lerna", () => {
assert.deepStrictEqual(findWorkspacesRoot(join("fixtures", "lerna")), {
location: posixResolve("fixtures", "lerna"),
assert.deepStrictEqual(findWorkspacesRoot("fixtures/lerna"), {
location: posixResolve("fixtures/lerna"),
globs: ["packages/*"],
});
});

it("returns root for lerna with packages", () => {
assert.deepStrictEqual(
findWorkspacesRoot(join("fixtures", "lerna-with-packages")),
{
location: posixResolve("fixtures", "lerna-with-packages"),
globs: ["packages/*"],
},
);
assert.deepStrictEqual(findWorkspacesRoot("fixtures/lerna-with-packages"), {
location: posixResolve("fixtures/lerna-with-packages"),
globs: ["packages/*"],
});
});

it("returns root for bolt", () => {
assert.deepStrictEqual(findWorkspacesRoot(join("fixtures", "bolt")), {
location: posixResolve("fixtures", "bolt"),
assert.deepStrictEqual(findWorkspacesRoot("fixtures/bolt"), {
location: posixResolve("fixtures/bolt"),
globs: ["packages/**/*"],
});
});

it("returns null for lerna with invalid packages", () => {
assert.strictEqual(
findWorkspacesRoot(join("fixtures", "lerna-with-invalid-packages")),
findWorkspacesRoot("fixtures/lerna-with-invalid-packages"),
null,
);
});

it("returns null for lerna with invalid workspaces", () => {
assert.strictEqual(
findWorkspacesRoot(join("fixtures", "lerna-with-invalid-workspaces")),
findWorkspacesRoot("fixtures/lerna-with-invalid-workspaces"),
null,
);
});

it("stops searching at stop dir", () => {
assert.deepStrictEqual(
findWorkspacesRoot(join("fixtures", "bolt", "packages", "a"), {
stopDir: join("fixtures", "bolt", "packages"),
findWorkspacesRoot("fixtures/bolt/packages/a", {
stopDir: "fixtures/bolt/packages",
}),
null,
);
Expand All @@ -76,45 +70,33 @@ describe("findWorkspacesRoot", () => {
const cache = createWorkspacesCache();
const options = { cache, stopDir: "." };

assert.deepStrictEqual(
findWorkspacesRoot(join("fixtures", "bolt"), options),
{
location: posixResolve("fixtures", "bolt"),
globs: ["packages/**/*"],
},
);
assert.deepStrictEqual(findWorkspacesRoot("fixtures/bolt", options), {
location: posixResolve("fixtures/bolt"),
globs: ["packages/**/*"],
});

assert.deepStrictEqual(
findWorkspacesRoot(join("fixtures", "bolt"), options),
{
location: posixResolve("fixtures", "bolt"),
globs: ["packages/**/*"],
},
);
assert.deepStrictEqual(findWorkspacesRoot("fixtures/bolt", options), {
location: posixResolve("fixtures/bolt"),
globs: ["packages/**/*"],
});

assert.strictEqual(
findWorkspacesRoot(
join("fixtures", "lerna-with-invalid-packages"),
options,
),
findWorkspacesRoot("fixtures/lerna-with-invalid-packages", options),
null,
);

assert.strictEqual(
findWorkspacesRoot(
join("fixtures", "lerna-with-invalid-packages"),
options,
),
findWorkspacesRoot("fixtures/lerna-with-invalid-packages", options),
null,
);

assert.deepStrictEqual(
cache.root,
new Map([
[
resolve("fixtures", "bolt"),
resolve("fixtures/bolt"),
{
location: posixResolve("fixtures", "bolt"),
location: posixResolve("fixtures/bolt"),
globs: ["packages/**/*"],
},
],
Expand All @@ -135,19 +117,13 @@ describe("findWorkspacesRoot", () => {
const options = { cache, stopDir: "." };

const root = {
location: posixResolve("fixtures", "bolt"),
location: posixResolve("fixtures/bolt"),
globs: ["packages/**/*"],
};

cache.root.set(resolve("fixtures", "bolt"), root);
cache.root.set(resolve("fixtures/bolt"), root);

assert.strictEqual(
findWorkspacesRoot(join("fixtures", "bolt", "foo"), options),
root,
);
assert.strictEqual(
findWorkspacesRoot(join("fixtures", "bolt"), options),
root,
);
assert.strictEqual(findWorkspacesRoot("fixtures/bolt/foo", options), root);
assert.strictEqual(findWorkspacesRoot("fixtures/bolt", options), root);
});
});
Loading

0 comments on commit 3baea8b

Please sign in to comment.