21 lines
894 B
JavaScript
21 lines
894 B
JavaScript
import { describe, it, expect } from 'vitest'
|
|
import { server, http, HttpResponse } from './test-setup'
|
|
import { parseRecipe } from '@/api/sdk'
|
|
import { setHouseholdSlugProvider } from '@/api/client'
|
|
|
|
// Parse endpoints: ingredients, product, recipe
|
|
|
|
describe('parse api (typed client)', () => {
|
|
it('parses a recipe from URL (scoped)', async () => {
|
|
setHouseholdSlugProvider(() => 'the-smiths')
|
|
server.use(
|
|
http.post('*/api/v1/households/the-smiths/recipes/parse-from-url', async ({ request }) => {
|
|
const body = await request.json()
|
|
expect(body).toEqual({ url: 'https://example.com/pancakes' })
|
|
return HttpResponse.json({ id: 10, name: 'Pancakes', link: '', serves: 1, imageUrls: [], ingredients: [], createdById: -1 })
|
|
})
|
|
)
|
|
const recipe = await parseRecipe('https://example.com/pancakes')
|
|
expect(recipe?.name).toBe('Pancakes')
|
|
})
|
|
})
|