test: stabilize full-suite lanes

This commit is contained in:
Peter Steinberger
2026-04-25 00:49:07 +01:00
parent 741d5d3231
commit ddedcac54a
2 changed files with 24 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
import { Mock, vi } from "vitest";
type SlackHandler = (args: unknown) => Promise<void>;
type SlackMiddleware = (args: { next: () => Promise<void> } & Record<string, unknown>) => unknown;
type SlackProviderMonitor = (params: {
botToken: string;
appToken: string;
@@ -255,12 +256,33 @@ vi.mock("@slack/bolt", () => {
class App {
client = slackClient;
receiver: unknown;
middlewares: SlackMiddleware[] = [];
constructor(args?: { receiver?: unknown }) {
this.receiver = args?.receiver;
}
use(middleware: SlackMiddleware) {
this.middlewares.push(middleware);
}
event(name: string, handler: SlackHandler) {
handlers.set(name, handler);
handlers.set(name, async (args: unknown) => {
const eventArgs =
args && typeof args === "object" && !Array.isArray(args)
? (args as Record<string, unknown>)
: {};
const run = async (index: number): Promise<void> => {
const middleware = this.middlewares[index];
if (!middleware) {
await handler(args);
return;
}
await middleware({
...eventArgs,
next: () => run(index + 1),
});
};
await run(0);
});
}
command() {
/* no-op */

View File

@@ -65,7 +65,7 @@ process.exitCode = await runManagedCommand({
const result = await waitForClose(runner);
expect(result).toEqual({ code: 143, signal: null });
await waitFor(() => !isProcessAlive(childPid));
await waitFor(() => !isProcessAlive(childPid), 10_000);
} finally {
if (runner.pid && isProcessAlive(runner.pid)) {
process.kill(runner.pid, "SIGKILL");