chore: unflake versions e2e (#5616)

This commit is contained in:
Alessio Gravili
2024-04-04 09:07:44 -04:00
committed by GitHub
parent 806b04e0ca
commit c1b6c2c5a5

View File

@@ -65,12 +65,6 @@ const { beforeAll, beforeEach, describe } = test
let payload: PayloadTestSDK<Config>
const waitForAutoSaveToComplete = async (page: Page) => {
await expect(async () => {
await expect(page.locator('.autosave:has-text("Saving...")')).toBeVisible()
}).toPass({
timeout: 45000,
})
await expect(async () => {
await expect(
page.locator('.autosave:has-text("Last saved less than a minute ago")'),
@@ -80,6 +74,16 @@ const waitForAutoSaveToComplete = async (page: Page) => {
})
}
const waitForAutoSaveToRunAndComplete = async (page: Page) => {
await expect(async () => {
await expect(page.locator('.autosave:has-text("Saving...")')).toBeVisible()
}).toPass({
timeout: 45000,
})
await waitForAutoSaveToComplete(page)
}
describe('versions', () => {
let page: Page
let url: AdminUrlUtil
@@ -320,7 +324,7 @@ describe('versions', () => {
const titleField = page.locator('#field-title')
await titleField.fill('global title')
await waitForAutoSaveToComplete(page)
await waitForAutoSaveToRunAndComplete(page)
await expect(titleField).toHaveValue('global title')
// refresh the page and ensure value autosaved
@@ -347,13 +351,13 @@ describe('versions', () => {
// fill out en doc
await titleField.fill(englishTitle)
await descriptionField.fill('description')
await waitForAutoSaveToComplete(page)
await waitForAutoSaveToRunAndComplete(page)
// change locale to spanish
await changeLocale(page, es)
// set localized title field
await titleField.fill(spanishTitle)
await waitForAutoSaveToComplete(page)
await waitForAutoSaveToRunAndComplete(page)
// change locale back to en
await changeLocale(page, en)
@@ -361,7 +365,7 @@ describe('versions', () => {
await expect(titleField).toHaveValue(englishTitle)
// change non-localized description field
await descriptionField.fill(newDescription)
await waitForAutoSaveToComplete(page)
await waitForAutoSaveToRunAndComplete(page)
// change locale to spanish
await changeLocale(page, es)
@@ -427,6 +431,7 @@ describe('versions', () => {
await page.locator('#field-title').fill('first post title')
await page.locator('#field-description').fill('first post description')
await saveDocAndAssert(page)
await waitForAutoSaveToComplete(page) // Make sure nothing is auto-saving before next steps
// create and save second doc
await page.goto(autosaveURL.create)
@@ -435,15 +440,19 @@ describe('versions', () => {
await expect(() => expect(page.url()).not.toContain(`/create`)).toPass({
timeout: POLL_TOPASS_TIMEOUT,
}) // Make sure this doesnt match for list view and /create view, but only for the ID edit view
await waitForAutoSaveToComplete(page) // Make sure nothing is auto-saving before next steps
await page.locator('#field-title').fill('second post title')
await page.locator('#field-description').fill('second post description')
// publish changes
await saveDocAndAssert(page)
await waitForAutoSaveToComplete(page) // Make sure nothing is auto-saving before next steps
// update second doc and wait for autosave
await page.locator('#field-title').fill('updated second post title')
await page.locator('#field-description').fill('updated second post description')
await waitForAutoSaveToComplete(page)
await waitForAutoSaveToRunAndComplete(page)
// verify that the first doc is unchanged
await page.goto(autosaveURL.list)