@websolutespa/payload-plugin-bowl
Version:
Bowl PayloadCms plugin of the BOM Repository
68 lines (67 loc) • 2.68 kB
JavaScript
import { config, getTestConfig, PageCollection } from '@/test';
import { clearContext, endUsers, getContext, users } from '@websolutespa/test/payload';
import { v4 as uuid } from 'uuid';
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
describe('page.service', ()=>{
let payload;
let client;
let userToken;
let endUserToken;
let apiKey;
let testConfig;
beforeAll(async ()=>{
const context = await getContext(config);
payload = context.payload;
client = context.client;
userToken = await client.getToken('users', users.admin);
endUserToken = await client.getToken('end_users', endUsers.user);
apiKey = users.api.apiKey;
testConfig = await getTestConfig(client, userToken);
});
afterAll(async ()=>{
await clearContext();
});
describe('endpoint test requests', ()=>{
let pageDoc;
beforeAll(async ()=>{
({ doc: pageDoc } = await client.post(PageCollection.slug, {
title: uuid(),
slug: uuid(),
order: 1,
isDefault: false,
useSplat: false,
category: testConfig.documents.category.id,
template: testConfig.documents.template.id,
markets: [
testConfig.documents.market.id
],
_status: 'published'
}, {
headers: {
Authorization: `JWT ${userToken}`
}
}));
});
describe('Page index get', ()=>{
it('should return an array of docs, each with a href property', async ()=>{
const pageDocs = await client.get(`${PageCollection.slug}?market=${testConfig.documents.market.id}&locale=${testConfig.defaultLocale}&pagination=false`, {
headers: {
Authorization: `users API-Key ${users.api.apiKey}`
}
});
pageDocs.forEach((doc)=>expect(doc.href).toBeDefined());
});
});
describe('Page detail get', ()=>{
it('should return a doc with a href property', async ()=>{
const doc = await client.get(`/${PageCollection.slug}/${pageDoc.id}?market=${testConfig.documents.market.id}&locale=${testConfig.defaultLocale}`, {
headers: {
Authorization: `users API-Key ${users.api.apiKey}`
}
});
expect(doc.href).toBeDefined();
});
});
});
});
//# sourceMappingURL=page.service.test.js.map