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/branch.unit.test.ts | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 test/unit/branch.unit.test.ts (limited to 'test/unit/branch.unit.test.ts') diff --git a/test/unit/branch.unit.test.ts b/test/unit/branch.unit.test.ts new file mode 100644 index 0000000..3f067a8 --- /dev/null +++ b/test/unit/branch.unit.test.ts @@ -0,0 +1,60 @@ +import { Branch } from "../../packages/server/src/git/branch"; +import { Repository } from "../../packages/server/src/git/repository"; +import { EnvironmentVariables } from "../util"; + +const env = process.env as EnvironmentVariables; + +describe("Branch", () => { + describe("Class methods", () => { + it("Should lookup a branch", async() => { + expect.assertions(2); + + const repository = await Repository.open(env.BASE_DIR, env.AVAIL_REPO); + const branch = await Branch.lookup(repository, "master"); + + expect(branch).toBeDefined(); + expect(branch).toBeInstanceOf(Branch); + }); + + it("Should lookup if an existent branch exists and respond true", async() => { + expect.assertions(2); + + const repository = await Repository.open(env.BASE_DIR, env.AVAIL_REPO); + const branch_exists = await Branch.lookupExists(repository.ng_repository, "master"); + + expect(branch_exists).toBeDefined(); + expect(branch_exists).toBeTruthy(); + }); + + it("Should lookup if an nonexistent branch exists and respond false", async() => { + expect.assertions(2); + + const repository = await Repository.open(env.BASE_DIR, env.AVAIL_REPO); + const branch_exists = await Branch.lookupExists(repository.ng_repository, "wubbalubbadubdub"); + + expect(branch_exists).toBeDefined(); + expect(branch_exists).toBeFalsy(); + }); + }); + + describe("Instance methods", () => { + let branch: Branch; + + beforeAll(async() => { + const repository = await Repository.open(env.BASE_DIR, env.AVAIL_REPO); + + branch = await Branch.lookup(repository, "master"); + }); + + it("Should get the latest commit", async() => { + expect.assertions(4); + + const latest_commit = await branch.latestCommit(); + + expect(latest_commit).toBeDefined(); + expect(latest_commit).toHaveProperty("id"); + expect(latest_commit).toHaveProperty("message"); + expect(latest_commit).toHaveProperty("date"); + }); + }); +}); \ No newline at end of file -- cgit v1.2.3-18-g5258