From 1f97f907b2073d7951f4e9a9ffda13676277d52d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 1 Apr 2026 01:53:23 +0100 Subject: [PATCH] test: centralize registry-backed channel contracts --- .../src/registry-backed.contract.test.ts | 3 -- .../src/registry-backed.contract.test.ts | 7 ---- .../src/registry-backed.contract.test.ts | 7 ---- .../src/session-binding.contract.test.ts | 4 --- .../src/registry-backed.contract.test.ts | 3 -- .../irc/src/registry-backed.contract.test.ts | 3 -- .../line/src/registry-backed.contract.test.ts | 3 -- .../src/registry-backed.contract.test.ts | 3 -- .../src/session-binding.contract.test.ts | 4 --- .../src/registry-backed.contract.test.ts | 3 -- .../src/registry-backed.contract.test.ts | 3 -- .../src/registry-backed.contract.test.ts | 3 -- .../src/registry-backed.contract.test.ts | 3 -- .../src/registry-backed.contract.test.ts | 3 -- .../src/registry-backed.contract.test.ts | 7 ---- .../zalo/src/registry-backed.contract.test.ts | 3 -- .../registry-backed.contract.test.ts | 32 +++++++++++++++++++ 17 files changed, 32 insertions(+), 62 deletions(-) delete mode 100644 extensions/bluebubbles/src/registry-backed.contract.test.ts delete mode 100644 extensions/discord/src/registry-backed.contract.test.ts delete mode 100644 extensions/feishu/src/registry-backed.contract.test.ts delete mode 100644 extensions/feishu/src/session-binding.contract.test.ts delete mode 100644 extensions/imessage/src/registry-backed.contract.test.ts delete mode 100644 extensions/irc/src/registry-backed.contract.test.ts delete mode 100644 extensions/line/src/registry-backed.contract.test.ts delete mode 100644 extensions/matrix/src/registry-backed.contract.test.ts delete mode 100644 extensions/matrix/src/session-binding.contract.test.ts delete mode 100644 extensions/mattermost/src/registry-backed.contract.test.ts delete mode 100644 extensions/nextcloud-talk/src/registry-backed.contract.test.ts delete mode 100644 extensions/signal/src/registry-backed.contract.test.ts delete mode 100644 extensions/slack/src/registry-backed.contract.test.ts delete mode 100644 extensions/synology-chat/src/registry-backed.contract.test.ts delete mode 100644 extensions/telegram/src/registry-backed.contract.test.ts delete mode 100644 extensions/zalo/src/registry-backed.contract.test.ts create mode 100644 src/channels/plugins/contracts/registry-backed.contract.test.ts diff --git a/extensions/bluebubbles/src/registry-backed.contract.test.ts b/extensions/bluebubbles/src/registry-backed.contract.test.ts deleted file mode 100644 index 0f7a29d5c57..00000000000 --- a/extensions/bluebubbles/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("bluebubbles"); diff --git a/extensions/discord/src/registry-backed.contract.test.ts b/extensions/discord/src/registry-backed.contract.test.ts deleted file mode 100644 index fc9cdb52ced..00000000000 --- a/extensions/discord/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { - describeChannelRegistryBackedContracts, - describeSessionBindingRegistryBackedContract, -} from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("discord"); -describeSessionBindingRegistryBackedContract("discord"); diff --git a/extensions/feishu/src/registry-backed.contract.test.ts b/extensions/feishu/src/registry-backed.contract.test.ts deleted file mode 100644 index 5c1958a145c..00000000000 --- a/extensions/feishu/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { - describeChannelRegistryBackedContracts, - describeSessionBindingRegistryBackedContract, -} from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("feishu"); -describeSessionBindingRegistryBackedContract("feishu"); diff --git a/extensions/feishu/src/session-binding.contract.test.ts b/extensions/feishu/src/session-binding.contract.test.ts deleted file mode 100644 index 17ba49a9b23..00000000000 --- a/extensions/feishu/src/session-binding.contract.test.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { describeSessionBindingContractCoverage } from "../../../test/helpers/channels/session-binding-contract.js"; -import { feishuSessionBindingAdapterChannels } from "../api.js"; - -describeSessionBindingContractCoverage(feishuSessionBindingAdapterChannels); diff --git a/extensions/imessage/src/registry-backed.contract.test.ts b/extensions/imessage/src/registry-backed.contract.test.ts deleted file mode 100644 index 8e29b07941e..00000000000 --- a/extensions/imessage/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("imessage"); diff --git a/extensions/irc/src/registry-backed.contract.test.ts b/extensions/irc/src/registry-backed.contract.test.ts deleted file mode 100644 index 4d9593d6a82..00000000000 --- a/extensions/irc/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("irc"); diff --git a/extensions/line/src/registry-backed.contract.test.ts b/extensions/line/src/registry-backed.contract.test.ts deleted file mode 100644 index 9646ca50daf..00000000000 --- a/extensions/line/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("line"); diff --git a/extensions/matrix/src/registry-backed.contract.test.ts b/extensions/matrix/src/registry-backed.contract.test.ts deleted file mode 100644 index 7cf28e5d074..00000000000 --- a/extensions/matrix/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeSessionBindingRegistryBackedContract } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeSessionBindingRegistryBackedContract("matrix"); diff --git a/extensions/matrix/src/session-binding.contract.test.ts b/extensions/matrix/src/session-binding.contract.test.ts deleted file mode 100644 index f407c8bed68..00000000000 --- a/extensions/matrix/src/session-binding.contract.test.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { describeSessionBindingContractCoverage } from "../../../test/helpers/channels/session-binding-contract.js"; -import { matrixSessionBindingAdapterChannels } from "../api.js"; - -describeSessionBindingContractCoverage(matrixSessionBindingAdapterChannels); diff --git a/extensions/mattermost/src/registry-backed.contract.test.ts b/extensions/mattermost/src/registry-backed.contract.test.ts deleted file mode 100644 index 09ff5708113..00000000000 --- a/extensions/mattermost/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("mattermost"); diff --git a/extensions/nextcloud-talk/src/registry-backed.contract.test.ts b/extensions/nextcloud-talk/src/registry-backed.contract.test.ts deleted file mode 100644 index 19f6b12e743..00000000000 --- a/extensions/nextcloud-talk/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("nextcloud-talk"); diff --git a/extensions/signal/src/registry-backed.contract.test.ts b/extensions/signal/src/registry-backed.contract.test.ts deleted file mode 100644 index 605ed7322c2..00000000000 --- a/extensions/signal/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("signal"); diff --git a/extensions/slack/src/registry-backed.contract.test.ts b/extensions/slack/src/registry-backed.contract.test.ts deleted file mode 100644 index a417ba78a5f..00000000000 --- a/extensions/slack/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("slack"); diff --git a/extensions/synology-chat/src/registry-backed.contract.test.ts b/extensions/synology-chat/src/registry-backed.contract.test.ts deleted file mode 100644 index fc1b3c360f3..00000000000 --- a/extensions/synology-chat/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("synology-chat"); diff --git a/extensions/telegram/src/registry-backed.contract.test.ts b/extensions/telegram/src/registry-backed.contract.test.ts deleted file mode 100644 index 431d2f97210..00000000000 --- a/extensions/telegram/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { - describeChannelRegistryBackedContracts, - describeSessionBindingRegistryBackedContract, -} from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("telegram"); -describeSessionBindingRegistryBackedContract("telegram"); diff --git a/extensions/zalo/src/registry-backed.contract.test.ts b/extensions/zalo/src/registry-backed.contract.test.ts deleted file mode 100644 index ca30b561b8a..00000000000 --- a/extensions/zalo/src/registry-backed.contract.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { describeChannelRegistryBackedContracts } from "../../../test/helpers/channels/registry-backed-contract.js"; - -describeChannelRegistryBackedContracts("zalo"); diff --git a/src/channels/plugins/contracts/registry-backed.contract.test.ts b/src/channels/plugins/contracts/registry-backed.contract.test.ts new file mode 100644 index 00000000000..c9fe477f18a --- /dev/null +++ b/src/channels/plugins/contracts/registry-backed.contract.test.ts @@ -0,0 +1,32 @@ +import { + describeChannelRegistryBackedContracts, + describeSessionBindingRegistryBackedContract, +} from "../../../test/helpers/channels/registry-backed-contract.js"; +import { + actionContractRegistry, + directoryContractRegistry, + pluginContractRegistry, + sessionBindingContractRegistry, + setupContractRegistry, + statusContractRegistry, + surfaceContractRegistry, + threadingContractRegistry, +} from "./registry.js"; + +const registryIds = new Set([ + ...pluginContractRegistry.map((entry) => entry.id), + ...actionContractRegistry.map((entry) => entry.id), + ...setupContractRegistry.map((entry) => entry.id), + ...statusContractRegistry.map((entry) => entry.id), + ...surfaceContractRegistry.map((entry) => entry.id), + ...threadingContractRegistry.map((entry) => entry.id), + ...directoryContractRegistry.map((entry) => entry.id), +]); + +for (const id of [...registryIds].toSorted()) { + describeChannelRegistryBackedContracts(id); +} + +for (const entry of sessionBindingContractRegistry) { + describeSessionBindingRegistryBackedContract(entry.id); +}