Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
37 lines
1007 B
TypeScript
37 lines
1007 B
TypeScript
import { searchBooks, parseReference } from '@/lib/bible-search'
|
|
|
|
describe('searchBooks', () => {
|
|
it('returns results for exact book prefix', () => {
|
|
const results = searchBooks('Genesis')
|
|
expect(results.length).toBeGreaterThan(0)
|
|
expect(results[0].bookName).toBe('Genesis')
|
|
})
|
|
|
|
it('parses "Book Chapter" format', () => {
|
|
const results = searchBooks('Genesis 5')
|
|
expect(results[0].chapter).toBe(5)
|
|
})
|
|
|
|
it('works with abbreviations', () => {
|
|
const results = searchBooks('Gen 1')
|
|
expect(results[0].bookName).toBe('Genesis')
|
|
})
|
|
|
|
it('returns empty array for empty query', () => {
|
|
expect(searchBooks('').length).toBe(0)
|
|
})
|
|
})
|
|
|
|
describe('parseReference', () => {
|
|
it('parses full book name with chapter', () => {
|
|
const result = parseReference('Genesis 3')
|
|
expect(result?.bookId).toBe(1)
|
|
expect(result?.chapter).toBe(3)
|
|
})
|
|
|
|
it('defaults to chapter 1', () => {
|
|
const result = parseReference('Genesis')
|
|
expect(result?.chapter).toBe(1)
|
|
})
|
|
})
|