chore: update 2.0 branch from master (#3207)

Co-authored-by: Jacob Fletcher <jacobsfletch@gmail.com>
Co-authored-by: Alessio Gravili <alessio@gravili.de>
Co-authored-by: PatrikKozak <patrik@trbl.design>
Co-authored-by: Lucas Blancas <lablancas@gmail.com>
Co-authored-by: Stef Gootzen <37367280+stefgootzen@users.noreply.github.com>
Co-authored-by: Jarrod Flesch <30633324+JarrodMFlesch@users.noreply.github.com>
Co-authored-by: Jessica Chowdhury <67977755+JessChowdhury@users.noreply.github.com>
Co-authored-by: PatrikKozak <35232443+PatrikKozak@users.noreply.github.com>
Co-authored-by: Greg Willard <Wickett06@gmail.com>
Co-authored-by: James Mikrut <james@payloadcms.com>
Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
fix: WhereBuilder component does not accept all valid Where queries (#3087)
fix: passes in height to resizeOptions upload option to allow height resize (#3171)
This commit is contained in:
Alessio Gravili
2023-08-22 22:04:50 +02:00
committed by GitHub
parent f911257cd9
commit 9467074fb9
174 changed files with 3875 additions and 2791 deletions

View File

@@ -1,5 +1,5 @@
import { initPayloadTest } from '../helpers/configHelpers';
import config from './config';
import configPromise from './config';
import payload from '../../src';
import { RESTClient } from '../helpers/rest';
import { transformSlug } from './collections/Transform';
@@ -7,10 +7,10 @@ import { hooksSlug } from './collections/Hook';
import { chainingHooksSlug } from './collections/ChainingHooks';
import { generatedAfterReadText, nestedAfterReadHooksSlug } from './collections/NestedAfterReadHooks';
import { relationsSlug } from './collections/Relations';
import type { NestedAfterReadHook } from './payload-types';
import { hooksUsersSlug } from './collections/Users';
import { devUser, regularUser } from '../credentials';
import { AuthenticationError } from '../../src/errors';
import { afterOperationSlug } from './collections/AfterOperation';
import { contextHooksSlug } from './collections/ContextHooks';
let client: RESTClient;
@@ -19,6 +19,7 @@ let apiUrl;
describe('Hooks', () => {
beforeAll(async () => {
const { serverURL } = await initPayloadTest({ __dirname, init: { local: false } });
const config = await configPromise;
client = new RESTClient(config, { serverURL, defaultSlug: transformSlug });
apiUrl = `${serverURL}/api`;
});
@@ -73,7 +74,7 @@ describe('Hooks', () => {
});
it('should save data generated with afterRead hooks in nested field structures', async () => {
const document = await payload.create<NestedAfterReadHook>({
const document = await payload.create({
collection: nestedAfterReadHooksSlug,
data: {
text: 'ok',
@@ -154,6 +155,62 @@ describe('Hooks', () => {
expect(retrievedDocs[0].text).toEqual('ok!!');
});
it('should execute collection afterOperation hook', async () => {
const [doc1, doc2] = await Promise.all([
await payload.create({
collection: afterOperationSlug,
data: {
title: 'Title',
},
}),
await payload.create({
collection: afterOperationSlug,
data: {
title: 'Title',
},
}),
]);
expect(doc1.title === 'Title created').toBeTruthy();
expect(doc2.title === 'Title created').toBeTruthy();
const findResult = await payload.find({
collection: afterOperationSlug,
});
expect(findResult.docs).toHaveLength(2);
expect(findResult.docs[0].title === 'Title read').toBeTruthy();
expect(findResult.docs[1].title === 'Title').toBeTruthy();
const [updatedDoc1, updatedDoc2] = await Promise.all([
await payload.update({
collection: afterOperationSlug,
id: doc1.id,
data: {
title: 'Title',
},
}),
await payload.update({
collection: afterOperationSlug,
id: doc2.id,
data: {
title: 'Title',
},
}),
]);
expect(updatedDoc1.title === 'Title updated').toBeTruthy();
expect(updatedDoc2.title === 'Title updated').toBeTruthy();
const findResult2 = await payload.find({
collection: afterOperationSlug,
});
expect(findResult2.docs).toHaveLength(2);
expect(findResult2.docs[0].title === 'Title read').toBeTruthy();
expect(findResult2.docs[1].title === 'Title').toBeTruthy();
});
it('should pass context from beforeChange to afterChange', async () => {
const document = await payload.create({
collection: contextHooksSlug,