You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
import { describe, expect, it } from 'vitest' |
|
import { |
|
ALEXANDRIA_NEXT_EVENTS_BASE, |
|
buildAlexandriaEventsSearchUrlForTSearchParams |
|
} from './alexandria-events-search-url' |
|
|
|
describe('buildAlexandriaEventsSearchUrlForTSearchParams', () => { |
|
it('maps profile search to n= query', () => { |
|
const url = buildAlexandriaEventsSearchUrlForTSearchParams({ |
|
type: 'profile', |
|
search: 'npub1test' |
|
}) |
|
expect(url).toBe(`${ALEXANDRIA_NEXT_EVENTS_BASE}?n=npub1test`) |
|
}) |
|
|
|
it('maps hashtag search to t= query', () => { |
|
const url = buildAlexandriaEventsSearchUrlForTSearchParams({ |
|
type: 'hashtag', |
|
search: 'nostr' |
|
}) |
|
expect(url).toBe(`${ALEXANDRIA_NEXT_EVENTS_BASE}?t=nostr`) |
|
}) |
|
|
|
it('maps relay search to q= query', () => { |
|
const url = buildAlexandriaEventsSearchUrlForTSearchParams({ |
|
type: 'relay', |
|
search: 'wss://relay.example.com' |
|
}) |
|
expect(url).toBe(`${ALEXANDRIA_NEXT_EVENTS_BASE}?q=wss%3A%2F%2Frelay.example.com`) |
|
}) |
|
|
|
it('maps notes search to free-text q= when no special tokens', () => { |
|
const url = buildAlexandriaEventsSearchUrlForTSearchParams({ |
|
type: 'notes', |
|
search: 'hello world' |
|
}) |
|
expect(url).toBe(`${ALEXANDRIA_NEXT_EVENTS_BASE}?q=hello%20world`) |
|
}) |
|
})
|
|
|