import { getPayload, Payload } from 'payload' import config from '@/payload.config' import { describe, it, beforeAll, expect } from 'vitest' let payload: Payload describe('Payload API', () => { beforeAll(async () => { // Schéma vznikne z konfigurace (`push` je zapnuté jen v testech). payload = await getPayload({ config: await config }) }) it('má nadefinované všechny kolekce', () => { const slugy = Object.keys(payload.collections) expect(slugy).toEqual( expect.arrayContaining(['products', 'categories', 'media', 'pages', 'users']), ) }) it('umí založit a najít položku nabídky', async () => { const kategorie = await payload.create({ collection: 'categories', data: { nazev: 'Zbraně' }, }) expect(kategorie.slug).toBe('zbrane') const vytvorena = await payload.create({ collection: 'products', data: { nazev: 'CZ 75 SP-01 Shadow', kategorie: kategorie.id, cena: 28900, stav: 'skladem', }, }) expect(vytvorena.id).toBeDefined() // slug se doplňuje hookem z názvu expect(vytvorena.slug).toBe('cz-75-sp-01-shadow') const nalezene = await payload.find({ collection: 'products', where: { slug: { equals: 'cz-75-sp-01-shadow' } }, }) expect(nalezene.docs).toHaveLength(1) expect(nalezene.docs[0]?.cena).toBe(28900) }) })