From 714f3647e5afca4de9796348d3eb511d26ddfa07 Mon Sep 17 00:00:00 2001 From: Shakker Date: Sat, 9 May 2026 04:41:41 +0100 Subject: [PATCH] test: tighten discord empty array assertions --- extensions/discord/src/audit.test.ts | 2 +- extensions/discord/src/directory-live.test.ts | 4 ++-- extensions/discord/src/doctor.test.ts | 6 +++--- extensions/discord/src/exec-approvals.test.ts | 2 +- extensions/discord/src/internal/rest.test.ts | 4 ++-- extensions/discord/src/monitor/message-utils.test.ts | 6 +++--- .../src/monitor/model-picker-preferences.test.ts | 2 +- .../src/monitor/monitor.agent-components.test.ts | 12 ++++++------ extensions/discord/src/monitor/presence.test.ts | 2 +- .../src/monitor/thread-bindings.lifecycle.test.ts | 10 +++++----- 10 files changed, 25 insertions(+), 25 deletions(-) diff --git a/extensions/discord/src/audit.test.ts b/extensions/discord/src/audit.test.ts index d5e5a28167d..88089f36940 100644 --- a/extensions/discord/src/audit.test.ts +++ b/extensions/discord/src/audit.test.ts @@ -116,7 +116,7 @@ describe("discord audit", () => { } as unknown as OpenClawConfig; const collected = collectDiscordAuditChannelIdsForGuilds(readDiscordGuilds(cfg)); - expect(collected.channelIds).toEqual([]); + expect(collected.channelIds).toStrictEqual([]); expect(collected.unresolvedChannels).toBe(0); }); diff --git a/extensions/discord/src/directory-live.test.ts b/extensions/discord/src/directory-live.test.ts index c487fb79168..e971f601f10 100644 --- a/extensions/discord/src/directory-live.test.ts +++ b/extensions/discord/src/directory-live.test.ts @@ -45,7 +45,7 @@ describe("discord directory live lookups", () => { query: "general", }); - expect(rows).toEqual([]); + expect(rows).toStrictEqual([]); }); it("returns empty peer directory without query and skips guild listing", async () => { @@ -53,7 +53,7 @@ describe("discord directory live lookups", () => { const rows = await listDiscordDirectoryPeersLive(makeParams({ query: " " })); - expect(rows).toEqual([]); + expect(rows).toStrictEqual([]); expect(fetchSpy).not.toHaveBeenCalled(); }); diff --git a/extensions/discord/src/doctor.test.ts b/extensions/discord/src/doctor.test.ts index 2b2da272150..6aa3417e167 100644 --- a/extensions/discord/src/doctor.test.ts +++ b/extensions/discord/src/doctor.test.ts @@ -336,7 +336,7 @@ describe("discord doctor", () => { expect(result.config.channels?.discord?.guilds?.main?.users).toEqual(["111"]); expect(result.config.channels?.discord?.guilds?.main?.roles).toEqual(["222"]); expect(result.changes).not.toHaveLength(0); - expect(result.warnings).toEqual([]); + expect(result.warnings).toStrictEqual([]); }); it("formats repair guidance for unsafe numeric ids", () => { @@ -363,7 +363,7 @@ describe("discord doctor", () => { ]); expect( collectDiscordMissingEnvTokenWarnings({ cfg, env: { DISCORD_BOT_TOKEN: "Bot tok" } }), - ).toEqual([]); + ).toStrictEqual([]); expect( await discordDoctor.collectPreviewWarnings?.({ cfg, @@ -386,6 +386,6 @@ describe("discord doctor", () => { }, } as unknown as OpenClawConfig; - expect(collectDiscordMissingEnvTokenWarnings({ cfg, env: {} })).toEqual([]); + expect(collectDiscordMissingEnvTokenWarnings({ cfg, env: {} })).toStrictEqual([]); }); }); diff --git a/extensions/discord/src/exec-approvals.test.ts b/extensions/discord/src/exec-approvals.test.ts index 1f9ac90df48..6d1ed50b454 100644 --- a/extensions/discord/src/exec-approvals.test.ts +++ b/extensions/discord/src/exec-approvals.test.ts @@ -72,7 +72,7 @@ describe("discord exec approvals", () => { }, ); - expect(getDiscordExecApprovalApprovers({ cfg })).toEqual([]); + expect(getDiscordExecApprovalApprovers({ cfg })).toStrictEqual([]); expect(isDiscordExecApprovalApprover({ cfg, senderId: "789" })).toBe(false); }); diff --git a/extensions/discord/src/internal/rest.test.ts b/extensions/discord/src/internal/rest.test.ts index 8b06211dc6b..6e0610c082c 100644 --- a/extensions/discord/src/internal/rest.test.ts +++ b/extensions/discord/src/internal/rest.test.ts @@ -257,7 +257,7 @@ describe("RequestClient", () => { const metrics = client.getSchedulerMetrics(); expect(metrics.activeBuckets).toBe(0); expect(metrics.routeBucketMappings).toBe(0); - expect(metrics.buckets).toEqual([]); + expect(metrics.buckets).toStrictEqual([]); }); it("waits for a learned bucket reset before dispatching the next request", async () => { @@ -365,7 +365,7 @@ describe("RequestClient", () => { await expect(request).resolves.toEqual({ id: "retried" }); expect(fetchSpy).toHaveBeenCalledTimes(2); expect(client.queueSize).toBe(0); - expect(client.getSchedulerMetrics().buckets).toEqual([]); + expect(client.getSchedulerMetrics().buckets).toStrictEqual([]); }); it("honors maxRateLimitRetries for queued requests", async () => { diff --git a/extensions/discord/src/monitor/message-utils.test.ts b/extensions/discord/src/monitor/message-utils.test.ts index 9b78e51b1f4..9060920a35d 100644 --- a/extensions/discord/src/monitor/message-utils.test.ts +++ b/extensions/discord/src/monitor/message-utils.test.ts @@ -334,7 +334,7 @@ describe("resolveForwardedMediaList", () => { it("returns empty when no snapshots are present", async () => { const result = await resolveForwardedMediaList(asMessage({}), 512); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); expect(fetchRemoteMedia).not.toHaveBeenCalled(); }); @@ -380,7 +380,7 @@ describe("resolveForwardedMediaList", () => { 512, ); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); expect(fetchRemoteMedia).not.toHaveBeenCalled(); }); @@ -547,7 +547,7 @@ describe("resolveMediaList", () => { expect(fetchRemoteMedia).not.toHaveBeenCalled(); expect(saveMediaBuffer).not.toHaveBeenCalled(); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); }); it("classifies audio attachments by filename when content type is missing", async () => { diff --git a/extensions/discord/src/monitor/model-picker-preferences.test.ts b/extensions/discord/src/monitor/model-picker-preferences.test.ts index 9a71eafe3bb..14703cf571b 100644 --- a/extensions/discord/src/monitor/model-picker-preferences.test.ts +++ b/extensions/discord/src/monitor/model-picker-preferences.test.ts @@ -62,6 +62,6 @@ describe("discord model picker preferences", () => { env, scope: { userId: "789" }, }); - expect(recent).toEqual([]); + expect(recent).toStrictEqual([]); }); }); diff --git a/extensions/discord/src/monitor/monitor.agent-components.test.ts b/extensions/discord/src/monitor/monitor.agent-components.test.ts index 23e256c94b9..33a0ce31704 100644 --- a/extensions/discord/src/monitor/monitor.agent-components.test.ts +++ b/extensions/discord/src/monitor/monitor.agent-components.test.ts @@ -155,7 +155,7 @@ describe("agent components", () => { idLine: "Your Discord user id: 123456789", }); expect(pairingText).toContain(`openclaw pairing approve discord ${code}`); - expect(peekSystemEvents(defaultDmSessionKey)).toEqual([]); + expect(peekSystemEvents(defaultDmSessionKey)).toStrictEqual([]); expect(readAllowFromStoreMock).toHaveBeenCalledWith("discord", "default"); }); @@ -174,7 +174,7 @@ describe("agent components", () => { content: "You are not authorized to use this button.", ephemeral: true, }); - expect(peekSystemEvents(defaultDmSessionKey)).toEqual([]); + expect(peekSystemEvents(defaultDmSessionKey)).toStrictEqual([]); expect(readAllowFromStoreMock).not.toHaveBeenCalled(); }); @@ -218,8 +218,8 @@ describe("agent components", () => { content: "You are not authorized to use this button.", ephemeral: true, }); - expect(peekSystemEvents(defaultGroupDmSessionKey)).toEqual([]); - expect(peekSystemEvents(defaultDmSessionKey)).toEqual([]); + expect(peekSystemEvents(defaultGroupDmSessionKey)).toStrictEqual([]); + expect(peekSystemEvents(defaultDmSessionKey)).toStrictEqual([]); expect(readAllowFromStoreMock).not.toHaveBeenCalled(); }); @@ -247,7 +247,7 @@ describe("agent components", () => { sessionKey: defaultGroupDmSessionKey, }), ); - expect(peekSystemEvents(defaultDmSessionKey)).toEqual([]); + expect(peekSystemEvents(defaultDmSessionKey)).toStrictEqual([]); expect(readAllowFromStoreMock).not.toHaveBeenCalled(); }); @@ -302,7 +302,7 @@ describe("agent components", () => { content: "DM interactions are disabled.", ephemeral: true, }); - expect(peekSystemEvents(defaultDmSessionKey)).toEqual([]); + expect(peekSystemEvents(defaultDmSessionKey)).toStrictEqual([]); expect(readAllowFromStoreMock).not.toHaveBeenCalled(); }); diff --git a/extensions/discord/src/monitor/presence.test.ts b/extensions/discord/src/monitor/presence.test.ts index 896f7bc9cc9..53c4a14aab7 100644 --- a/extensions/discord/src/monitor/presence.test.ts +++ b/extensions/discord/src/monitor/presence.test.ts @@ -17,7 +17,7 @@ describe("resolveDiscordPresenceUpdate", () => { it("returns online presence when no config is provided", () => { const result = expectPresenceUpdate(resolveDiscordPresenceUpdate({})); expect(result.status).toBe("online"); - expect(result.activities).toEqual([]); + expect(result.activities).toStrictEqual([]); }); it("uses configured status", () => { diff --git a/extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts b/extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts index 0dccd5b7f2c..da11d64fd22 100644 --- a/extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts +++ b/extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts @@ -1397,7 +1397,7 @@ describe("thread binding lifecycle", () => { expect(result.checked).toBe(1); expect(result.removed).toBe(0); - expect(result.staleSessionKeys).toEqual([]); + expect(result.staleSessionKeys).toStrictEqual([]); expect(requireBinding(manager, "thread-acp-uncertain")).toMatchObject({ threadId: "thread-acp-uncertain", targetKind: "acp", @@ -1436,7 +1436,7 @@ describe("thread binding lifecycle", () => { expect(result.checked).toBe(0); expect(result.removed).toBe(0); - expect(result.staleSessionKeys).toEqual([]); + expect(result.staleSessionKeys).toStrictEqual([]); expect(manager.getByThreadId("user:1177378744822943744")).toMatchObject({ threadId: "user:1177378744822943744", metadata: { @@ -1530,7 +1530,7 @@ describe("thread binding lifecycle", () => { expect(result.checked).toBe(1); expect(result.removed).toBe(0); - expect(result.staleSessionKeys).toEqual([]); + expect(result.staleSessionKeys).toStrictEqual([]); expect(requireBinding(manager, "thread-acp-running-uncertain")).toMatchObject({ threadId: "thread-acp-running-uncertain", targetKind: "acp", @@ -1577,7 +1577,7 @@ describe("thread binding lifecycle", () => { expect(result.checked).toBe(1); expect(result.removed).toBe(0); - expect(result.staleSessionKeys).toEqual([]); + expect(result.staleSessionKeys).toStrictEqual([]); expect(requireBinding(manager, "thread-acp-error")).toMatchObject({ threadId: "thread-acp-error", targetKind: "acp", @@ -1881,7 +1881,7 @@ describe("thread binding lifecycle", () => { const payload = JSON.parse(fs.readFileSync(bindingsPath, "utf-8")) as { bindings?: Record; }; - expect(Object.keys(payload.bindings ?? {})).toEqual([]); + expect(Object.keys(payload.bindings ?? {})).toStrictEqual([]); } finally { __testing.resetThreadBindingsForTests(); if (previousStateDir === undefined) {