import Database from 'better-sqlite3'; import { describe, expect, it } from 'vitest'; import { createIndexedDiscovery } from '../src/discovery.js'; import { createAppViewStore } from '../src/store.js'; const REPO = 'at://did:plc:owner/dev.pdsjs.git.repo/proj'; describe('createIndexedDiscovery', () => { it('answers the discovery port from the index', async () => { const store = createAppViewStore(new Database(':memory:')); store.putRecord({ did: 'did:plc:stranger', collection: 'dev.pdsjs.git.pull', rkey: '3kpull', cid: 'bafypull', uri: 'at://did:plc:stranger/dev.pdsjs.git.pull/3kpull', seq: 1, value: { subject: { uri: REPO } }, }); const discovery = createIndexedDiscovery(store); expect(await discovery.about(REPO, 'dev.pdsjs.git.pull')).toEqual([ { did: 'did:plc:stranger', collection: 'dev.pdsjs.git.pull', rkey: '3kpull', }, ]); expect( await discovery.about(REPO, 'dev.pdsjs.git.pull', 'subject.uri'), ).toHaveLength(1); expect(await discovery.about(REPO, 'dev.pdsjs.git.review')).toEqual([]); }); });