move to bun and bun:test and remove jest.

This commit is contained in:
fiatjaf
2023-12-16 14:53:32 -03:00
parent 1357642575
commit 3d541e537e
36 changed files with 130 additions and 4356 deletions

View File

@@ -1,9 +1,10 @@
import { describe, test, expect } from 'bun:test'
import { matchFilter, matchFilters, mergeFilters } from './filter.ts'
import { buildEvent } from './test-helpers.ts'
describe('Filter', () => {
describe('matchFilter', () => {
it('should return true when all filter conditions are met', () => {
test('should return true when all filter conditions are met', () => {
const filter = {
ids: ['123', '456'],
kinds: [1, 2, 3],
@@ -26,7 +27,7 @@ describe('Filter', () => {
expect(result).toEqual(true)
})
it('should return false when the event id is not in the filter', () => {
test('should return false when the event id is not in the filter', () => {
const filter = { ids: ['123', '456'] }
const event = buildEvent({ id: '789' })
@@ -36,7 +37,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return true when the event id starts with a prefix', () => {
test('should return true when the event id starts with a prefix', () => {
const filter = { ids: ['22', '00'] }
const event = buildEvent({ id: '001' })
@@ -46,7 +47,7 @@ describe('Filter', () => {
expect(result).toEqual(true)
})
it('should return false when the event kind is not in the filter', () => {
test('should return false when the event kind is not in the filter', () => {
const filter = { kinds: [1, 2, 3] }
const event = buildEvent({ kind: 4 })
@@ -56,7 +57,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return false when the event author is not in the filter', () => {
test('should return false when the event author is not in the filter', () => {
const filter = { authors: ['abc', 'def'] }
const event = buildEvent({ pubkey: 'ghi' })
@@ -66,7 +67,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return false when a tag is not present in the event', () => {
test('should return false when a tag is not present in the event', () => {
const filter = { '#tag': ['value1', 'value2'] }
const event = buildEvent({ tags: [['not_tag', 'value1']] })
@@ -76,7 +77,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return false when a tag value is not present in the event', () => {
test('should return false when a tag value is not present in the event', () => {
const filter = { '#tag': ['value1', 'value2'] }
const event = buildEvent({ tags: [['tag', 'value3']] })
@@ -86,7 +87,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return true when filter has tags that is present in the event', () => {
test('should return true when filter has tags that is present in the event', () => {
const filter = { '#tag1': ['foo'] }
const event = buildEvent({
@@ -105,7 +106,7 @@ describe('Filter', () => {
expect(result).toEqual(true)
})
it('should return false when the event is before the filter since value', () => {
test('should return false when the event is before the filter since value', () => {
const filter = { since: 100 }
const event = buildEvent({ created_at: 50 })
@@ -115,7 +116,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return true when the timestamp of event is equal to the filter since value', () => {
test('should return true when the timestamp of event is equal to the filter since value', () => {
const filter = { since: 100 }
const event = buildEvent({ created_at: 100 })
@@ -125,7 +126,7 @@ describe('Filter', () => {
expect(result).toEqual(true)
})
it('should return false when the event is after the filter until value', () => {
test('should return false when the event is after the filter until value', () => {
const filter = { until: 100 }
const event = buildEvent({ created_at: 150 })
@@ -135,7 +136,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return true when the timestamp of event is equal to the filter until value', () => {
test('should return true when the timestamp of event is equal to the filter until value', () => {
const filter = { until: 100 }
const event = buildEvent({ created_at: 100 })
@@ -147,7 +148,7 @@ describe('Filter', () => {
})
describe('matchFilters', () => {
it('should return true when at least one filter matches the event', () => {
test('should return true when at least one filter matches the event', () => {
const filters = [
{ ids: ['123'], kinds: [1], authors: ['abc'] },
{ ids: ['456'], kinds: [2], authors: ['def'] },
@@ -161,7 +162,7 @@ describe('Filter', () => {
expect(result).toEqual(true)
})
it('should return true when at least one prefix matches the event', () => {
test('should return true when at least one prefix matches the event', () => {
const filters = [
{ ids: ['1'], kinds: [1], authors: ['a'] },
{ ids: ['4'], kinds: [2], authors: ['d'] },
@@ -175,7 +176,7 @@ describe('Filter', () => {
expect(result).toEqual(true)
})
it('should return true when event matches one or more filters and some have limit set', () => {
test('should return true when event matches one or more filters and some have limit set', () => {
const filters = [
{ ids: ['123'], limit: 1 },
{ kinds: [1], limit: 2 },
@@ -194,7 +195,7 @@ describe('Filter', () => {
expect(result).toEqual(true)
})
it('should return false when no filters match the event', () => {
test('should return false when no filters match the event', () => {
const filters = [
{ ids: ['123'], kinds: [1], authors: ['abc'] },
{ ids: ['456'], kinds: [2], authors: ['def'] },
@@ -208,7 +209,7 @@ describe('Filter', () => {
expect(result).toEqual(false)
})
it('should return false when event matches none of the filters and some have limit set', () => {
test('should return false when event matches none of the filters and some have limit set', () => {
const filters = [
{ ids: ['123'], limit: 1 },
{ kinds: [1], limit: 2 },
@@ -228,7 +229,7 @@ describe('Filter', () => {
})
describe('mergeFilters', () => {
it('should merge filters', () => {
test('should merge filters', () => {
expect(mergeFilters({ ids: ['a', 'b'], limit: 3 }, { authors: ['x'], ids: ['b', 'c'] })).toEqual({
ids: ['a', 'b', 'c'],
limit: 3,