This commit is contained in:
32
backend/__tests__/vitest.d.ts
vendored
Normal file
32
backend/__tests__/vitest.d.ts
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import type { Assertion, AsymmetricMatchersContaining } from "vitest";
|
||||
import type { Test as SuperTest } from "supertest";
|
||||
import MonkeyError from "../src/utils/error";
|
||||
|
||||
type ExpectedRateLimit = {
|
||||
/** max calls */
|
||||
max: number;
|
||||
/** window in milliseconds. Needs to be within 2500ms */
|
||||
windowMs: number;
|
||||
};
|
||||
interface RestRequestMatcher<R = Supertest> {
|
||||
toBeRateLimited: (expected: ExpectedRateLimit) => RestRequestMatcher<R>;
|
||||
}
|
||||
interface ThrowMatcher {
|
||||
toMatchMonkeyError: (expected: {
|
||||
status: number;
|
||||
message: string;
|
||||
}) => MatcherResult;
|
||||
}
|
||||
|
||||
declare module "vitest" {
|
||||
interface Assertion<T = any> extends RestRequestMatcher<T>, ThrowMatcher {}
|
||||
interface AsymmetricMatchersContaining
|
||||
extends RestRequestMatcher, ThrowMatcher {}
|
||||
}
|
||||
|
||||
interface MatcherResult {
|
||||
pass: boolean;
|
||||
message: () => string;
|
||||
actual?: unknown;
|
||||
expected?: unknown;
|
||||
}
|
||||
Reference in New Issue
Block a user