UNPKG

@nostr-dev-kit/ndk

Version:

NDK - Nostr Development Kit. Includes AI Guardrails to catch common mistakes during development.

36 lines (29 loc) 1.25 kB
import { nip19 } from "nostr-tools"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { EventGenerator } from "../../test"; import { NDK } from "../ndk"; import { NDKRelay } from "../relay"; import { NDKPrivateKeySigner } from "../signers/private-key"; import type { EventPointer } from "../user"; describe("event.encode", () => { let mockNdk: NDK; beforeEach(() => { // Create a mock NDK instance mockNdk = new NDK(); EventGenerator.setNDK(mockNdk); }); it("encodes all relays the event is known to be on", async () => { // Use EventGenerator to create a kind 1 text note const event = EventGenerator.createEvent(1); await event.sign(NDKPrivateKeySigner.generate()); // Mock the onRelays getter to return our test relays const testRelays = [ new NDKRelay("wss://relay1/", undefined, mockNdk), new NDKRelay("wss://relay2/", undefined, mockNdk), ]; vi.spyOn(event, "onRelays", "get").mockReturnValue(testRelays); const encoded = event.encode(); const { relays } = nip19.decode(encoded).data as EventPointer; expect(relays).toEqual(["wss://relay1/", "wss://relay2/"]); }); });