fix playwright tests (#759)
This commit is contained in:
@@ -1,30 +1,39 @@
|
||||
import { test as base, expect } from '@playwright/test';
|
||||
import { ListsPage } from '../../pages/lists_page';
|
||||
|
||||
// Run tests serially to avoid race conditions with shared list data
|
||||
base.describe.configure({ mode: 'serial' });
|
||||
|
||||
const test = base.extend<{ listsPage: ListsPage }>({
|
||||
listsPage: async ({ page }, use) => {
|
||||
const listsPage = new ListsPage(page);
|
||||
await listsPage.goto();
|
||||
await listsPage.create();
|
||||
await use(listsPage);
|
||||
await listsPage.removeAll();
|
||||
},
|
||||
});
|
||||
|
||||
test('shows a list card', async ({ listsPage }) => {
|
||||
const testListName = `Test List ${Date.now()}`;
|
||||
const listItemCount = await listsPage.listItems.count();
|
||||
await listsPage.create();
|
||||
expect(listsPage.listItems).toHaveCount(listItemCount + 1);
|
||||
expect(listsPage.listItemsImage).toBeVisible();
|
||||
await listsPage.create(testListName);
|
||||
|
||||
await expect(listsPage.listItems).toHaveCount(listItemCount + 1);
|
||||
const createdListItem = listsPage.listItems.filter({ hasText: testListName });
|
||||
await expect(createdListItem).toBeVisible();
|
||||
await expect(createdListItem.getByRole('img', { name: 'list avatar' })).toBeVisible();
|
||||
});
|
||||
|
||||
test('update a list card', async ({ listsPage }) => {
|
||||
await listsPage.create("List to Update");
|
||||
await listsPage.update();
|
||||
expect(listsPage.listItems.first()).toContainText("Updated List");
|
||||
expect(listsPage.listItems.first()).toContainText("New Description");
|
||||
await expect(listsPage.listItems.first()).toContainText("Updated List");
|
||||
await expect(listsPage.listItems.first()).toContainText("New Description");
|
||||
});
|
||||
|
||||
test('delete a list card', async ({ listsPage }) => {
|
||||
await listsPage.create("List to Delete");
|
||||
const countBefore = await listsPage.listItems.count();
|
||||
await listsPage.delete();
|
||||
expect(listsPage.listItems).toHaveCount(0);
|
||||
await expect(listsPage.listItems).toHaveCount(countBefore - 1);
|
||||
});
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test('logs the user out', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await page.getByRole('button', { name: 'avatar' }).click();
|
||||
await page.goto('/', { waitUntil: 'networkidle' });
|
||||
await page.getByLabel('Open user menu').click();
|
||||
await page.locator(".menu .menu-item").filter({ hasText: "Logout" }).click();
|
||||
|
||||
await page.waitForURL('/');
|
||||
|
||||
const cookies = await page.context().cookies();
|
||||
const pbAuthCookie = cookies.find(cookie => cookie.name === 'pb_auth');
|
||||
expect(pbAuthCookie).toBeFalsy();
|
||||
|
||||
Reference in New Issue
Block a user