From 6024e9c77a69da7f6099c699ec919dae7077abfc Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Tue, 24 Sep 2024 02:17:52 +0900 Subject: [PATCH] chore: fixed tests --- src/handlers/shared/start.ts | 12 ++++++++---- tests/main.test.ts | 17 +++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/handlers/shared/start.ts b/src/handlers/shared/start.ts index f93b6d9..d1e5a1c 100644 --- a/src/handlers/shared/start.ts +++ b/src/handlers/shared/start.ts @@ -1,10 +1,10 @@ import { Context, ISSUE_TYPE, Label } from "../../types"; -import { isParentIssue, getAvailableOpenedPullRequests, getAssignedIssues, addAssignees, addCommentToIssue, getTimeValue } from "../../utils/issue"; -import { checkTaskStale } from "./check-task-stale"; -import { hasUserBeenUnassigned } from "./check-assignments"; -import { getUserRoleAndTaskLimit } from "./get-user-task-limit-and-role"; +import { addAssignees, addCommentToIssue, getAssignedIssues, getAvailableOpenedPullRequests, getTimeValue, isParentIssue } from "../../utils/issue"; import { HttpStatusCode, Result } from "../result-types"; +import { hasUserBeenUnassigned } from "./check-assignments"; +import { checkTaskStale } from "./check-task-stale"; import { generateAssignmentComment, getDeadline } from "./generate-assignment-comment"; +import { getUserRoleAndTaskLimit } from "./get-user-task-limit-and-role"; import structuredMetadata from "./structured-metadata"; import { assignTableComment } from "./table"; @@ -17,6 +17,10 @@ export async function start( const { logger, config } = context; const { taskStaleTimeoutDuration } = config; + if (!sender) { + throw new Error(logger.error(`Skipping '/start' since there is no sender in the context.`).logMessage.raw); + } + // is it a child issue? if (issue.body && isParentIssue(issue.body)) { await addCommentToIssue( diff --git a/tests/main.test.ts b/tests/main.test.ts index ec17791..dec87fe 100644 --- a/tests/main.test.ts +++ b/tests/main.test.ts @@ -1,15 +1,16 @@ +import { afterAll, afterEach, beforeAll, beforeEach, describe, expect } from "@jest/globals"; import { drop } from "@mswjs/data"; +import { createClient } from "@supabase/supabase-js"; +import { cleanLogString, Logs } from "@ubiquity-dao/ubiquibot-logger"; +import dotenv from "dotenv"; +import { createAdapters } from "../src/adapters"; +import { userStartStop, userUnassigned } from "../src/handlers/user-start-stop"; import { Context, envConfigValidator, Sender, SupportedEventsU } from "../src/types"; import { db } from "./__mocks__/db"; +import issueTemplate from "./__mocks__/issue-template"; import { server } from "./__mocks__/node"; import usersGet from "./__mocks__/users-get.json"; -import { expect, describe, beforeAll, beforeEach, afterAll, afterEach } from "@jest/globals"; -import { userStartStop, userUnassigned } from "../src/handlers/user-start-stop"; -import issueTemplate from "./__mocks__/issue-template"; -import { createAdapters } from "../src/adapters"; -import { createClient } from "@supabase/supabase-js"; -import dotenv from "dotenv"; -import { Logs, cleanLogString } from "@ubiquity-dao/ubiquibot-logger"; + dotenv.config(); type Issue = Context<"issue_comment.created">["payload"]["issue"]; @@ -599,7 +600,7 @@ const maxConcurrentDefaults = { function createContext( issue: Record, - sender: Record, + sender: Record | undefined, body = "/start", appId: string | null = "1", startRequiresWallet = false