From 055a58e79fb225978d64a3c8e3e25377cc2a5ece Mon Sep 17 00:00:00 2001 From: HampusM Date: Tue, 27 Jul 2021 16:51:54 +0200 Subject: Added new unit tests & the test setup script uses Nodegit instead of exec --- test/unit/tag.unit.test.ts | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 test/unit/tag.unit.test.ts (limited to 'test/unit/tag.unit.test.ts') diff --git a/test/unit/tag.unit.test.ts b/test/unit/tag.unit.test.ts new file mode 100644 index 0000000..8321092 --- /dev/null +++ b/test/unit/tag.unit.test.ts @@ -0,0 +1,52 @@ +import { Repository } from "../../packages/server/src/git/repository"; +import { Tag } from "../../packages/server/src/git/tag"; +import { EnvironmentVariables } from "../util"; + +const env = process.env as EnvironmentVariables; + +describe("Tag", () => { + describe("Class methods", () => { + it("Should lookup a tag", async() => { + expect.assertions(2); + + const repository = await Repository.open(env.BASE_DIR, env.AVAIL_REPO); + + const tag = await Tag.lookup(repository, "1.2"); + + expect(tag).toBeDefined(); + expect(tag).toBeInstanceOf(Tag); + }); + }); + + describe("Instance methods", () => { + let tag: Tag; + + beforeAll(async() => { + const repository = await Repository.open(env.BASE_DIR, env.AVAIL_REPO); + tag = await Tag.lookup(repository, "1.2"); + }); + + it("Should get the author", async() => { + expect.assertions(5); + + const author = await tag.author(); + + expect(author).toBeDefined(); + + expect(author).toHaveProperty("name"); + expect(author.name).toEqual("BobDylan"); + + expect(author).toHaveProperty("email"); + expect(author.email).toEqual("bob@example.com"); + }); + + it("Should get the date", async() => { + expect.assertions(2); + + const date = await tag.date(); + + expect(date).toBeDefined(); + expect(typeof date).toEqual("number"); + }); + }); +}); \ No newline at end of file -- cgit v1.2.3-18-g5258