From a9d96b10376fe1a4731b2ddb4d26ce38e333d5cb Mon Sep 17 00:00:00 2001 From: Jessica Chowdhury Date: Fri, 3 Nov 2023 16:38:43 +0000 Subject: [PATCH] fix: global autosave and relevant e2e test --- packages/payload/src/versions/saveVersion.ts | 12 +++++------- test/versions/e2e.spec.ts | 20 +++++++++++++++++++- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/packages/payload/src/versions/saveVersion.ts b/packages/payload/src/versions/saveVersion.ts index b87b38fea5..1956c4c0bf 100644 --- a/packages/payload/src/versions/saveVersion.ts +++ b/packages/payload/src/versions/saveVersion.ts @@ -39,22 +39,20 @@ export const saveVersion = async ({ if (autosave) { let docs const findVersionArgs = { - collectionSlug: collection.slug, - globalSlug: collection.slug, limit: 1, req, sort: '-updatedAt', - where: { - parent: { - equals: id, - }, - }, } if (collection) { ;({ docs } = await payload.db.findVersions({ ...findVersionArgs, collection: collection.slug, req, + where: { + parent: { + equals: id, + }, + }, })) } else { ;({ docs } = await payload.db.findGlobalVersions({ diff --git a/test/versions/e2e.spec.ts b/test/versions/e2e.spec.ts index 3557cdc869..817b4f2220 100644 --- a/test/versions/e2e.spec.ts +++ b/test/versions/e2e.spec.ts @@ -32,7 +32,13 @@ import { globalSlug } from '../admin/shared' import { changeLocale, exactText, findTableCell, selectTableRow } from '../helpers' import { AdminUrlUtil } from '../helpers/adminUrlUtil' import { initPayloadE2E } from '../helpers/configHelpers' -import { autosaveSlug, draftGlobalSlug, draftSlug, titleToDelete } from './shared' +import { + autoSaveGlobalSlug, + autosaveSlug, + draftGlobalSlug, + draftSlug, + titleToDelete, +} from './shared' const { beforeAll, describe } = test @@ -228,6 +234,18 @@ describe('versions', () => { expect(page.url()).toMatch(/\/versions$/) }) + test('global - should autosave', async () => { + const url = new AdminUrlUtil(serverURL, autoSaveGlobalSlug) + // fill out global title and wait for autosave + await page.goto(url.global(autoSaveGlobalSlug)) + await page.locator('#field-title').fill('global title') + await wait(1000) + + // refresh the page and ensure value autosaved + await page.goto(url.global(autoSaveGlobalSlug)) + await expect(page.locator('#field-title')).toHaveValue('global title') + }) + test('should retain localized data during autosave', async () => { const locale = 'en' const spanishLocale = 'es'