fix: align extension tests and fetch typing for gate stability (#12816)

This commit is contained in:
Seb Slight
2026-02-09 14:12:07 -05:00
committed by GitHub
parent 3e63b2a4fa
commit ec55583bb7
4 changed files with 16 additions and 7 deletions

View File

@@ -83,6 +83,7 @@ vi.mock("@opentelemetry/sdk-trace-base", () => ({
}));
vi.mock("@opentelemetry/resources", () => ({
resourceFromAttributes: vi.fn((attrs: Record<string, unknown>) => attrs),
Resource: class {
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
constructor(_value?: unknown) {}

View File

@@ -50,7 +50,7 @@ export type MonitorMattermostOpts = {
statusSink?: (patch: Partial<ChannelAccountSnapshot>) => void;
};
type FetchLike = typeof fetch;
type FetchLike = (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>;
type MediaKind = "image" | "audio" | "video" | "document" | "unknown";
type MattermostEventPayload = {

View File

@@ -36,7 +36,7 @@ vi.mock("./utils/twitch.js", () => ({
describe("outbound", () => {
const mockAccount = {
username: "testbot",
token: "oauth:test123",
accessToken: "oauth:test123",
clientId: "test-client-id",
channel: "#testchannel",
};
@@ -196,7 +196,14 @@ describe("outbound", () => {
expect(result.channel).toBe("twitch");
expect(result.messageId).toBe("twitch-msg-123");
expect(result.to).toBe("testchannel");
expect(sendMessageTwitchInternal).toHaveBeenCalledWith(
"testchannel",
"Hello Twitch!",
mockConfig,
"default",
true,
console,
);
expect(result.timestamp).toBeGreaterThan(0);
});

View File

@@ -54,7 +54,8 @@ vi.mock("@twurple/auth", () => ({
describe("probeTwitch", () => {
const mockAccount: TwitchAccountConfig = {
username: "testbot",
token: "oauth:test123456789",
accessToken: "oauth:test123456789",
clientId: "test-client-id",
channel: "testchannel",
};
@@ -74,7 +75,7 @@ describe("probeTwitch", () => {
});
it("returns error when token is missing", async () => {
const account = { ...mockAccount, token: "" };
const account = { ...mockAccount, accessToken: "" };
const result = await probeTwitch(account, 5000);
expect(result.ok).toBe(false);
@@ -84,7 +85,7 @@ describe("probeTwitch", () => {
it("attempts connection regardless of token prefix", async () => {
// Note: probeTwitch doesn't validate token format - it tries to connect with whatever token is provided
// The actual connection would fail in production with an invalid token
const account = { ...mockAccount, token: "raw_token_no_prefix" };
const account = { ...mockAccount, accessToken: "raw_token_no_prefix" };
const result = await probeTwitch(account, 5000);
// With mock, connection succeeds even without oauth: prefix
@@ -166,7 +167,7 @@ describe("probeTwitch", () => {
it("trims token before validation", async () => {
const account: TwitchAccountConfig = {
...mockAccount,
token: " oauth:test123456789 ",
accessToken: " oauth:test123456789 ",
};
const result = await probeTwitch(account, 5000);