From dafdb028d0e520b81474511f6b3f6d6f04b96906 Mon Sep 17 00:00:00 2001
From: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Date: Sat, 1 Oct 2022 11:40:59 +0100
Subject: [PATCH] fix: added provider gitlab tests

---
 source/ci_source/providers/GitLabCI.ts        |  1 +
 .../providers/_tests/_gitlab.test.ts          | 44 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 source/ci_source/providers/_tests/_gitlab.test.ts

diff --git a/source/ci_source/providers/GitLabCI.ts b/source/ci_source/providers/GitLabCI.ts
index cf7fc8adf..26f4a952f 100644
--- a/source/ci_source/providers/GitLabCI.ts
+++ b/source/ci_source/providers/GitLabCI.ts
@@ -23,6 +23,7 @@ export class GitLabCI implements CISource {
   }
 
   get repoSlug(): string {
+    // return this.env.CI_MERGE_REQUEST_PROJECT_PATH || this.env.CI_PROJECT_PATH
     return this.env.CI_PROJECT_PATH
   }
 
diff --git a/source/ci_source/providers/_tests/_gitlab.test.ts b/source/ci_source/providers/_tests/_gitlab.test.ts
new file mode 100644
index 000000000..e9c677ab2
--- /dev/null
+++ b/source/ci_source/providers/_tests/_gitlab.test.ts
@@ -0,0 +1,44 @@
+import { GitLabCI } from "../GitLabCI"
+import { getCISourceForEnv } from "../../get_ci_source"
+
+const correctEnv = {
+  GITLAB_CI: "true",
+  CI_MERGE_REQUEST_IID: "27117",
+  CI_PROJECT_PATH: "gitlab-org/gitlab-foss",
+  // DANGER_GITLAB_API_TOKEN: "gitlab_dummy_a829-07bd7559eecb"
+}
+
+describe("being found when looking for CI", () => {
+  it("finds GitLab with the right ENV", () => {
+    const ci = getCISourceForEnv(correctEnv)
+    expect(ci).toBeInstanceOf(GitLabCI)
+  })
+})
+
+describe(".isCI", () => {
+  it("validates when all GitLab environment vars are set", async () => {
+    const result = new GitLabCI(correctEnv)
+    expect(result.isCI).toBeTruthy()
+  })
+
+  it("does not validate without env", async () => {
+    const result = new GitLabCI({})
+    expect(result.isCI).toBeFalsy()
+  })
+})
+
+// missed
+
+describe(".pullRequestID", () => {
+  it("pulls it out of the env", () => {
+    const result = new GitLabCI(correctEnv)
+    expect(result.pullRequestID).toEqual("27117")
+  })
+})
+
+describe(".repoSlug", () => {
+  it("derives it from the PR Url", () => {
+    const result = new GitLabCI(correctEnv)
+    expect(result.repoSlug).toEqual("gitlab-org/gitlab-foss")
+  })
+})