From 03fd7f4c8fe3261b1b25b6a573a22b33de0ff656 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Mar 2026 12:29:26 +0000 Subject: [PATCH] Delete pullRequestNumber.test.ts; simplify config.test.ts Co-authored-by: marocchino <128431+marocchino@users.noreply.github.com> --- __tests__/config.test.ts | 381 +++------------------------- __tests__/pullRequestNumber.test.ts | 86 ------- 2 files changed, 33 insertions(+), 434 deletions(-) delete mode 100644 __tests__/pullRequestNumber.test.ts diff --git a/__tests__/config.test.ts b/__tests__/config.test.ts index 69590ca..63b4016 100644 --- a/__tests__/config.test.ts +++ b/__tests__/config.test.ts @@ -1,8 +1,8 @@ -import { beforeEach, afterEach, test, expect, vi, describe } from 'vitest' +import {afterEach, beforeEach, describe, expect, test, vi} from "vitest" const mockConfig = { pullRequestNumber: 123, - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, + repo: {owner: "marocchino", repo: "sticky-pull-request-comment"}, header: "", append: false, recreate: false, @@ -14,34 +14,14 @@ const mockConfig = { githubToken: "some-token", ignoreEmpty: false, skipUnchanged: false, - getBody: vi.fn().mockResolvedValue("") + getBody: vi.fn().mockResolvedValue(""), } -vi.mock('../src/config', () => { - return mockConfig -}) +vi.mock("../src/config", () => mockConfig) beforeEach(() => { - // Set up default environment variables for each test - process.env["GITHUB_REPOSITORY"] = "marocchino/stick-pull-request-comment" - process.env["INPUT_NUMBER"] = "123" - process.env["INPUT_APPEND"] = "false" - process.env["INPUT_RECREATE"] = "false" - process.env["INPUT_DELETE"] = "false" - process.env["INPUT_ONLY_CREATE"] = "false" - process.env["INPUT_ONLY_UPDATE"] = "false" - process.env["INPUT_HIDE"] = "false" - process.env["INPUT_HIDE_AND_RECREATE"] = "false" - process.env["INPUT_HIDE_CLASSIFY"] = "OUTDATED" - process.env["INPUT_HIDE_DETAILS"] = "false" - process.env["INPUT_GITHUB_TOKEN"] = "some-token" - process.env["INPUT_IGNORE_EMPTY"] = "false" - process.env["INPUT_SKIP_UNCHANGED"] = "false" - process.env["INPUT_FOLLOW_SYMBOLIC_LINKS"] = "false" - - // 모킹된 값 초기화 mockConfig.pullRequestNumber = 123 - mockConfig.repo = {owner: "marocchino", repo: "stick-pull-request-comment"} + mockConfig.repo = {owner: "marocchino", repo: "sticky-pull-request-comment"} mockConfig.header = "" mockConfig.append = false mockConfig.recreate = false @@ -58,397 +38,102 @@ beforeEach(() => { afterEach(() => { vi.resetModules() - delete process.env["GITHUB_REPOSITORY"] - delete process.env["INPUT_OWNER"] - delete process.env["INPUT_REPO"] - delete process.env["INPUT_HEADER"] - delete process.env["INPUT_MESSAGE"] - delete process.env["INPUT_NUMBER"] - delete process.env["INPUT_APPEND"] - delete process.env["INPUT_RECREATE"] - delete process.env["INPUT_DELETE"] - delete process.env["INPUT_ONLY_CREATE"] - delete process.env["INPUT_ONLY_UPDATE"] - delete process.env["INPUT_HIDE"] - delete process.env["INPUT_HIDE_AND_RECREATE"] - delete process.env["INPUT_HIDE_CLASSIFY"] - delete process.env["INPUT_HIDE_DETAILS"] - delete process.env["INPUT_GITHUB_TOKEN"] - delete process.env["INPUT_PATH"] - delete process.env["INPUT_IGNORE_EMPTY"] - delete process.env["INPUT_SKIP_UNCHANGED"] - delete process.env["INPUT_FOLLOW_SYMBOLIC_LINKS"] - delete process.env["INPUT_NUMBER_FORCE"] }) test("repo", async () => { - process.env["INPUT_OWNER"] = "jin" - process.env["INPUT_REPO"] = "other" - mockConfig.repo = {owner: "jin", repo: "other"} - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "jin", repo: "other"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.repo).toEqual({owner: "jin", repo: "other"}) }) test("header", async () => { - process.env["INPUT_HEADER"] = "header" mockConfig.header = "header" - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "header", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.header).toBe("header") }) test("append", async () => { - process.env["INPUT_APPEND"] = "true" mockConfig.append = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: true, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.append).toBe(true) }) test("recreate", async () => { - process.env["INPUT_RECREATE"] = "true" mockConfig.recreate = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: true, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.recreate).toBe(true) }) test("delete", async () => { - process.env["INPUT_DELETE"] = "true" mockConfig.deleteOldComment = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: true, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.deleteOldComment).toBe(true) }) test("hideOldComment", async () => { - process.env["INPUT_HIDE"] = "true" mockConfig.hideOldComment = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: true, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.hideOldComment).toBe(true) }) test("hideAndRecreate", async () => { - process.env["INPUT_HIDE_AND_RECREATE"] = "true" mockConfig.hideAndRecreate = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: true, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.hideAndRecreate).toBe(true) }) test("hideClassify", async () => { - process.env["INPUT_HIDE_CLASSIFY"] = "OFF_TOPIC" mockConfig.hideClassify = "OFF_TOPIC" - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OFF_TOPIC", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.hideClassify).toBe("OFF_TOPIC") }) test("hideDetails", async () => { - process.env["INPUT_HIDE_DETAILS"] = "true" mockConfig.hideDetails = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: true, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.hideDetails).toBe(true) }) describe("path", () => { test("when exists return content of a file", async () => { - process.env["INPUT_PATH"] = "./__tests__/assets/result" mockConfig.getBody.mockResolvedValue("hi there\n") - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) + const config = await import("../src/config") expect(await config.getBody()).toEqual("hi there\n") }) test("glob match files", async () => { - process.env["INPUT_PATH"] = "./__tests__/assets/*" mockConfig.getBody.mockResolvedValue("hi there\n\nhey there\n") - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) + const config = await import("../src/config") expect(await config.getBody()).toEqual("hi there\n\nhey there\n") }) test("when not exists return null string", async () => { - process.env["INPUT_PATH"] = "./__tests__/assets/not_exists" mockConfig.getBody.mockResolvedValue("") - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) + const config = await import("../src/config") expect(await config.getBody()).toEqual("") }) }) test("message", async () => { - process.env["INPUT_MESSAGE"] = "hello there" mockConfig.getBody.mockResolvedValue("hello there") - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) + const config = await import("../src/config") expect(await config.getBody()).toEqual("hello there") }) test("ignore_empty", async () => { - process.env["INPUT_IGNORE_EMPTY"] = "true" mockConfig.ignoreEmpty = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: true, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.ignoreEmpty).toBe(true) }) test("skip_unchanged", async () => { - process.env["INPUT_SKIP_UNCHANGED"] = "true" mockConfig.skipUnchanged = true - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: expect.any(Number), - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: true - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.skipUnchanged).toBe(true) }) test("number_force", async () => { - process.env["INPUT_NUMBER_FORCE"] = "456" mockConfig.pullRequestNumber = 456 - - const config = await import('../src/config') - expect(config).toMatchObject({ - pullRequestNumber: 456, - repo: {owner: "marocchino", repo: "stick-pull-request-comment"}, - header: "", - append: false, - recreate: false, - deleteOldComment: false, - hideOldComment: false, - hideAndRecreate: false, - hideClassify: "OUTDATED", - hideDetails: false, - githubToken: "some-token", - ignoreEmpty: false, - skipUnchanged: false - }) - expect(await config.getBody()).toEqual("") + const config = await import("../src/config") + expect(config.pullRequestNumber).toBe(456) }) diff --git a/__tests__/pullRequestNumber.test.ts b/__tests__/pullRequestNumber.test.ts deleted file mode 100644 index 5a15383..0000000 --- a/__tests__/pullRequestNumber.test.ts +++ /dev/null @@ -1,86 +0,0 @@ -import {afterEach, describe, expect, test, vi} from "vitest" - -const mockGetInput = vi.fn().mockReturnValue("") - -vi.mock("@actions/core", () => ({ - getInput: mockGetInput, - getBooleanInput: vi.fn().mockReturnValue(false), - getMultilineInput: vi.fn().mockReturnValue([]), - setFailed: vi.fn(), - info: vi.fn(), -})) - -const mockContext: {payload: Record; repo: {owner: string; repo: string}} = { - payload: {}, - repo: {owner: "marocchino", repo: "sticky-pull-request-comment"}, -} - -vi.mock("@actions/github", () => ({ - context: mockContext, -})) - -vi.mock("@actions/glob", () => ({ - create: vi.fn(), -})) - -afterEach(() => { - vi.resetModules() - mockContext.payload = {} - mockGetInput.mockReturnValue("") -}) - -describe("pullRequestNumber priority", () => { - test("uses number_force when set, overriding pull_request event number", async () => { - mockContext.payload = {pull_request: {number: 100}} - mockGetInput.mockImplementation((name: string) => { - if (name === "number_force") return "999" - if (name === "number") return "200" - return "" - }) - - const {pullRequestNumber} = await import("../src/config") - expect(pullRequestNumber).toBe(999) - }) - - test("uses number_force when set, overriding number input", async () => { - mockContext.payload = {} - mockGetInput.mockImplementation((name: string) => { - if (name === "number_force") return "999" - if (name === "number") return "200" - return "" - }) - - const {pullRequestNumber} = await import("../src/config") - expect(pullRequestNumber).toBe(999) - }) - - test("uses pull_request event number when number_force is not set", async () => { - mockContext.payload = {pull_request: {number: 100}} - mockGetInput.mockImplementation((name: string) => { - if (name === "number") return "200" - return "" - }) - - const {pullRequestNumber} = await import("../src/config") - expect(pullRequestNumber).toBe(100) - }) - - test("uses number input when number_force and pull_request event number are not set", async () => { - mockContext.payload = {} - mockGetInput.mockImplementation((name: string) => { - if (name === "number") return "200" - return "" - }) - - const {pullRequestNumber} = await import("../src/config") - expect(pullRequestNumber).toBe(200) - }) - - test("returns 0 when none of number_force, pull_request number, or number are set", async () => { - mockContext.payload = {} - mockGetInput.mockReturnValue("") - - const {pullRequestNumber} = await import("../src/config") - expect(pullRequestNumber).toBe(0) - }) -})