mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-07-10 08:41:24 -05:00
chore(tests): remove Cypress, use Playwright exclusively (#1976)
- Removes Cypress test framework entirely, using only Playwright for E2E tests - All Cypress tests were already covered by Playwright; added 2 missing tests for URL filter/search parameters - Removes ~2000 lines of Cypress code and configuration - Updated ESLint and Stylelint configurations to reflect testing changes 🐰 Farewell to Cypress, dear and bright, We hop to Playwright's testing light, Factories cleared, the config gone, Our tests now march in Playwright's song! ~✨ The Testing Rabbit
This commit is contained in:
@@ -6,6 +6,7 @@ import {UserFactory} from '../../factories/user'
|
||||
import {ProjectFactory} from '../../factories/project'
|
||||
import {createProjects} from './prepareProjects'
|
||||
import {BucketFactory} from '../../factories/bucket'
|
||||
import {createTasksWithPriorities, createTasksWithSearch} from '../../support/filterTestHelpers'
|
||||
|
||||
test.describe('Project View List', () => {
|
||||
test('Should be an empty project', async ({authenticatedPage: page}) => {
|
||||
@@ -164,4 +165,36 @@ test.describe('Project View List', () => {
|
||||
await expect(page.locator('ul.tasks > div > .single-task')).toBeVisible()
|
||||
await expect(page.locator('ul.tasks > div > .subtask-nested')).toBeVisible()
|
||||
})
|
||||
|
||||
test('Should respect filter query parameter from URL', async ({authenticatedPage: page}) => {
|
||||
await createProjects(1)
|
||||
const {highPriorityTasks, lowPriorityTasks} = await createTasksWithPriorities()
|
||||
|
||||
await page.goto('/projects/1/1?filter=priority%20>=%204')
|
||||
|
||||
await expect(page).toHaveURL(/filter=priority/)
|
||||
|
||||
// Wait for tasks to load and verify high priority tasks are visible
|
||||
await expect(page.locator('.tasks')).toContainText(highPriorityTasks[0].title, {timeout: 10000})
|
||||
await expect(page.locator('.tasks')).toContainText(highPriorityTasks[1].title)
|
||||
|
||||
// Verify low priority tasks are NOT visible
|
||||
await expect(page.locator('.tasks')).not.toContainText(lowPriorityTasks[0].title)
|
||||
await expect(page.locator('.tasks')).not.toContainText(lowPriorityTasks[1].title)
|
||||
})
|
||||
|
||||
test('Should respect search query parameter from URL', async ({authenticatedPage: page}) => {
|
||||
await createProjects(1)
|
||||
const {searchableTask} = await createTasksWithSearch()
|
||||
|
||||
await page.goto('/projects/1/1?s=meeting')
|
||||
|
||||
await expect(page).toHaveURL(/s=meeting/)
|
||||
|
||||
// Wait for tasks to load and verify searchable task is visible
|
||||
await expect(page.locator('.tasks')).toContainText(searchableTask.title, {timeout: 10000})
|
||||
|
||||
// Only one task should be visible (the searchable one)
|
||||
await expect(page.locator('.tasks .task')).toHaveCount(1)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user