(page: Page)
| 7836 | test.describe('Issue #1423 - Project cards refresh when subtasks are removed', () => { |
| 7837 | // Helper to expand TaskNotes and Views folders |
| 7838 | async function expandViewsFolderFor1423(page: Page): Promise<void> { |
| 7839 | // First ensure the sidebar is expanded |
| 7840 | await ensureSidebarExpanded(page); |
| 7841 | |
| 7842 | // First expand TaskNotes folder if collapsed |
| 7843 | const tasknotesFolder = page.locator('.nav-folder-title').filter({ hasText: /^TaskNotes$/ }).first(); |
| 7844 | if (await tasknotesFolder.isVisible({ timeout: 5000 }).catch(() => false)) { |
| 7845 | const parentFolder = tasknotesFolder.locator('xpath=ancestor::div[contains(@class, "nav-folder")][1]'); |
| 7846 | const isTasknotesCollapsed = await parentFolder.evaluate(el => el.classList.contains('is-collapsed')).catch(() => true); |
| 7847 | if (isTasknotesCollapsed) { |
| 7848 | await tasknotesFolder.click(); |
| 7849 | await page.waitForTimeout(500); |
| 7850 | } |
| 7851 | } |
| 7852 | |
| 7853 | // Then expand Views folder if collapsed |
| 7854 | const viewsFolder = page.locator('.nav-folder-title').filter({ hasText: /^Views$/ }); |
| 7855 | if (await viewsFolder.isVisible({ timeout: 5000 }).catch(() => false)) { |
| 7856 | const parentFolder = viewsFolder.locator('xpath=ancestor::div[contains(@class, "nav-folder")][1]'); |
| 7857 | const isCollapsed = await parentFolder.evaluate(el => el.classList.contains('is-collapsed')).catch(() => true); |
| 7858 | if (isCollapsed) { |
| 7859 | await viewsFolder.click(); |
| 7860 | await page.waitForTimeout(500); |
| 7861 | } |
| 7862 | } |
| 7863 | } |
| 7864 | |
| 7865 | test.fixme('subtask should disappear from expanded list when deleted', async () => { |
| 7866 | // Issue #1423: Deleted subtasks remain visible in the expanded subtask list |
no test coverage detected