const { duplicateName } = require("../duplicate") describe("duplicate", () => { describe("duplicates a name ", () => { it("with a single existing", async () => { const names = ["foo"] const name = "foo" const duplicate = duplicateName(name, names) expect(duplicate).toBe("foo (1)") }) it("with multiple existing", async () => { const names = ["foo", "foo (1)", "foo (2)"] const name = "foo" const duplicate = duplicateName(name, names) expect(duplicate).toBe("foo (3)") }) it("with mixed multiple existing", async () => { const names = ["foo", "foo (1)", "foo (2)", "bar", "bar (1)", "bar (2)"] const name = "foo" const duplicate = duplicateName(name, names) expect(duplicate).toBe("foo (3)") }) it("with incomplete sequence", async () => { const names = ["foo", "foo (2)", "foo (3)"] const name = "foo" const duplicate = duplicateName(name, names) expect(duplicate).toBe("foo (1)") }) }) })