diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-16 19:37:50 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-16 19:40:10 -0800 |
| commit | cba29e6aae637b04ff6eaf28f74bc15b6242b9ea (patch) | |
| tree | 226753a3fcd18a6d45089dafcb1ee72557140aa8 /frontend/tests/e2e.spec.ts | |
| parent | cb6d0c9e330c27ff85ff065c2ea6dd1a756cbf6d (diff) | |
| download | neko-cba29e6aae637b04ff6eaf28f74bc15b6242b9ea.tar.gz neko-cba29e6aae637b04ff6eaf28f74bc15b6242b9ea.tar.bz2 neko-cba29e6aae637b04ff6eaf28f74bc15b6242b9ea.zip | |
Remove legacy V2 React frontend and update build/test scripts to focus on Vanilla JS (V3)
Diffstat (limited to 'frontend/tests/e2e.spec.ts')
| -rw-r--r-- | frontend/tests/e2e.spec.ts | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/frontend/tests/e2e.spec.ts b/frontend/tests/e2e.spec.ts deleted file mode 100644 index 2bdf478..0000000 --- a/frontend/tests/e2e.spec.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { test, expect } from '@playwright/test'; - -test.describe('Neko Reader E2E', () => { - test('should allow login, viewing feeds, and logout', async ({ page }) => { - // 1. Go to Login - await page.goto('/v2/login'); - await expect(page).toHaveTitle(/Neko/); - - // 2. Login - // 2. Login - // Password is empty by default in test env - await page.click('button[type="submit"]'); - - // Check for error message if login failed (optional, for debugging) - // await expect(page.locator('.error-message')).toBeVisible({ timeout: 2000 }).catch(() => {}); - - // 3. Verify Dashboard - // Keep checking for /v2/ or /v2 - await expect(page).toHaveURL(/.*\/v2\/?$/); - await expect(page.locator('h1.logo')).toContainText('🐱'); - await expect(page.getByText('Logout')).toBeVisible(); - - // 4. Verify Feed List - await page.click('text=Settings'); - await expect(page).toHaveURL(/.*\/v2\/settings/); - - // Add a feed - const feedUrl = 'http://localhost:9090/mock_feed.xml'; - await page.fill('input[type="url"]', feedUrl); - await page.click('text=Add Feed'); - - // Wait for it to appear - await expect(page.getByText(feedUrl)).toBeVisible(); - - const waitForLoader = async () => { - await page.waitForFunction(() => { - const loading = document.querySelector('.feed-items-loading') || - document.body.innerText.includes('Loading...'); - return !loading; - }, { timeout: 15000 }); - }; - - // 5. Navigate to Feed - console.log('Step 5: Navigate to Home'); - await page.goto('/v2/'); - await expect(page).toHaveURL(/.*\/v2\/?$/); - // Default view is now the stream. - // It should NOT show "Select a feed" anymore. - // Wait for items or "No items found" or loading state - await waitForLoader(); - await expect( - page - .locator('.feed-items') - .or(page.getByText('No items found')) - .or(page.locator('.feed-items-error')) - ).toBeVisible({ timeout: 10000 }); - - // 6. Verify Tag View - // 6. Logout - console.log('Step 6: Logout'); - await page.click('text=Logout'); - await expect(page).toHaveURL(/.*\/v2\/login/); - }); -}); |
