@nostr-dev-kit/ndk-test-utils
Test helpers, mocks, and stubs for the Nostr Development Kit (NDK). This package provides utilities to make testing NDK applications easier.
Installation
pnpm add --save-dev @nostr-dev-kit/ndk-test-utils
Available Utilities
Mocks
RelayMock
A mock implementation of NDK relays for testing:
import { RelayMock } from "@nostr-dev-kit/ndk-test-utils";
const mockRelay = new RelayMock("wss://mock.relay", {
simulateDisconnect: false,
connectionDelay: 100,
autoConnect: true
});
await mockRelay.connect();
await mockRelay.disconnect();
const event = ;
await mockRelay.simulateEvent(event);
mockRelay.simulateReceiveMessage('["NOTICE", "Test notice"]');
mockRelay.simulateEOSE("subscription_id");
mockRelay.simulateNotice("This is a notice");
RelayPoolMock
A mock implementation of NDK relay pools:
import { RelayPoolMock } from "@nostr-dev-kit/ndk-test-utils";
const poolMock = new RelayPoolMock();
poolMock.addRelay("wss://mock1.relay");
poolMock.addRelay("wss://mock2.relay");
const relay = poolMock.getRelay("wss://mock1.relay");
EventGenerator
Utility for generating test events:
import { EventGenerator } from "@nostr-dev-kit/ndk-test-utils";
const generator = new EventGenerator();
const textNote = await generator.textNote("Hello World");
const metadata = await generator.metadata({ name: "Test User" });
const contactList = await generator.contactList(["pubkey1", "pubkey2"]);
NutzapMock
Utilities for testing nutzap functionality:
import { mockNutzap, mockProof } from "@nostr-dev-kit/ndk-test-utils";
const proof = mockProof("mint", 100, "recipientPubkey");
const nutzap = await mockNutzap("mint", 100, ndk, {
recipientPubkey: "pubkey",
content: "Test zap",
});
License
MIT