munch-ease-frontend/tests/parse.api.test.js

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')
})
})