Files
oh-my-pi-telegram/tests/target.test.ts
Evandro Fonseca Junior d1d04001d0
Release / release (push) Failing after 5s
Validate / validate (push) Failing after 5m21s
chore: fork @llblab/[email protected] as @evandrodevbr/oh-my-pi-telegram
Fork of upstream llblab/[email protected].0 (SHA afe09c5) repackaged as a
drop-in extension for can1357/oh-my-pi (omp >= 16.5.2).

Changes vs upstream:
- Rename package: @llblab/pi-telegram -> @evandrodevbr/oh-my-pi-telegram
- Bump version: 0.22.0 -> 0.22.0-evandro.1
- Update repository/homepage/bugs URLs to evandrodevbr
- Add omp field in package.json (displayName + compatibleWith)
- README: prepend 'Oh My Pi (omp) Compatibility' section with install
  commands, verified-components table, upstream lineage, and rationale
- CHANGELOG: add '0.22.0-evandro.1' entry under Unreleased
- docs/: rename @llblab/pi-telegram imports to @evandrodevbr/oh-my-pi-telegram
- tests/public-api.test.ts: rename package import paths

Gates re-run on the fork:
- npm run typecheck  -> tsc --noEmit (success)
- npm test           -> 1229 pass / 0 fail / 1 platform-only skip
- npm run audit      -> found 0 vulnerabilities
- npm run pack:check -> evandrodevbr-oh-my-pi-telegram-0.22.0-evandro.1.tgz

Verified:
- omp install --link ./pi-telegram -> Linked OK
- omp plugin list -> @evandrodevbr/[email protected].0-evandro.1

Upstream lineage: badlogic/pi-telegram -> llblab/pi-telegram (0.22.0) -> evandrodevbr/oh-my-pi-telegram (this fork)
2026-07-15 14:18:16 -03:00

59 lines
1.7 KiB
TypeScript

/**
* Telegram target regression tests
* Zones: telegram transport, routing, multi-instance bus
* Covers private and thread target identity helpers used by future multi-instance routing
*/
import assert from "node:assert/strict";
import { test } from "node:test";
import {
areTelegramTargetsEqual,
createTelegramPrivateTarget,
createTelegramThreadTarget,
getTelegramTargetKey,
getTelegramTargetThreadParams,
isTelegramThreadTarget,
} from "../lib/target.ts";
test("Telegram target helpers model private chat targets", () => {
const target = createTelegramPrivateTarget(7);
assert.deepEqual(target, { chatId: 7 });
assert.equal(getTelegramTargetKey(target), "7:private");
assert.equal(isTelegramThreadTarget(target), false);
assert.deepEqual(getTelegramTargetThreadParams(target), {});
});
test("Telegram target helpers model topic thread targets", () => {
const target = createTelegramThreadTarget(-100123, 42);
assert.deepEqual(target, { chatId: -100123, threadId: 42 });
assert.equal(getTelegramTargetKey(target), "-100123:42");
assert.equal(isTelegramThreadTarget(target), true);
assert.deepEqual(getTelegramTargetThreadParams(target), {
message_thread_id: 42,
});
});
test("Telegram target equality includes thread identity", () => {
assert.equal(
areTelegramTargetsEqual(
createTelegramThreadTarget(1, 2),
createTelegramThreadTarget(1, 2),
),
true,
);
assert.equal(
areTelegramTargetsEqual(
createTelegramThreadTarget(1, 2),
createTelegramThreadTarget(1, 3),
),
false,
);
assert.equal(
areTelegramTargetsEqual(
createTelegramPrivateTarget(1),
createTelegramThreadTarget(1, 2),
),
false,
);
});