diff --git a/pool.test.ts b/pool.test.ts index c7c003f..bc00e96 100644 --- a/pool.test.ts +++ b/pool.test.ts @@ -12,7 +12,7 @@ afterAll(() => { pool.close([...relays, 'wss://offchain.pub', 'wss://eden.nostr.land']) }) -test('removing duplicates when querying', async () => { +test('removing duplicates when subscribing', async () => { let priv = generateSecretKey() let pub = getPublicKey(priv) @@ -43,7 +43,7 @@ test('removing duplicates when querying', async () => { expect(received[0]).toEqual(event) }) -test('same with double querying', async () => { +test('same with double subs', async () => { let priv = generateSecretKey() let pub = getPublicKey(priv) @@ -76,6 +76,23 @@ test('same with double querying', async () => { expect(received).toHaveLength(2) }) +test('query a bunch of events and cancel on eose', async () => { + let events = new Set() + await new Promise(resolve => { + pool.subscribeManyEose( + [...relays, 'wss://relayable.org', 'wss://relay.noswhere.com', 'wss://nothing.com'], + [{ kinds: [0, 1], limit: 40 }], + { + onevent(event) { + events.add(event.id) + }, + onclose: resolve as any, + }, + ) + }) + expect(events.size).toBeGreaterThan(50) +}) + test('querySync()', async () => { let events = await pool.querySync([...relays.slice(2), 'wss://offchain.pub', 'wss://eden.nostr.land'], { authors: ['3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d'],