aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/tests/e2e.spec.ts
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-16 19:37:50 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-16 19:40:10 -0800
commitcba29e6aae637b04ff6eaf28f74bc15b6242b9ea (patch)
tree226753a3fcd18a6d45089dafcb1ee72557140aa8 /frontend/tests/e2e.spec.ts
parentcb6d0c9e330c27ff85ff065c2ea6dd1a756cbf6d (diff)
downloadneko-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.ts64
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/);
- });
-});