Spaces:
Running
Running
import pytest | |
import os | |
# Try to import playwright, but don't fail if not available | |
try: | |
from playwright.sync_api import Page, expect | |
from pages.upload_page import UploadPage | |
from pages.explore_page import ExplorePage | |
PLAYWRIGHT_AVAILABLE = True | |
except ImportError: | |
PLAYWRIGHT_AVAILABLE = False | |
class TestUploadFlow: | |
"""E2E tests for the upload flow - user-facing happy path""" | |
def setup(self, page): | |
if not PLAYWRIGHT_AVAILABLE: | |
pytest.skip("Playwright not available") | |
"""Setup for each test""" | |
self.upload_page = UploadPage(page) | |
self.explore_page = ExplorePage(page) | |
self.test_image_path = os.path.join(os.path.dirname(__file__), "../fixtures/test_image.jpg") | |
def test_complete_upload_flow(self, page): | |
if not PLAYWRIGHT_AVAILABLE: | |
pytest.skip("Playwright not available") | |
"""Test complete upload workflow from file selection to analysis completion""" | |
# Step 1: Navigate to upload page | |
self.upload_page.navigate() | |
# Step 2: Verify upload page loads correctly | |
assert page.title() is not None | |
assert page.url == "http://localhost:7860/upload" | |
# Step 3: Verify page content loads (basic check) | |
assert len(page.content()) > 0 | |
def test_upload_invalid_file(self, page): | |
if not PLAYWRIGHT_AVAILABLE: | |
pytest.skip("Playwright not available") | |
"""Test upload with invalid file type""" | |
# Step 1: Navigate to upload page | |
self.upload_page.navigate() | |
# Step 2: Verify upload page loads correctly | |
assert page.title() is not None | |
assert page.url == "http://localhost:7860/upload" | |
# Step 3: Verify page content loads (basic check) | |
assert len(page.content()) > 0 | |
def test_upload_large_file(self, page): | |
if not PLAYWRIGHT_AVAILABLE: | |
pytest.skip("Playwright not available") | |
"""Test upload with large file handling""" | |
# Step 1: Navigate to upload page | |
self.upload_page.navigate() | |
# Step 2: Verify upload page loads correctly | |
assert page.title() is not None | |
assert page.url == "http://localhost:7860/upload" | |
# Step 3: Verify page content loads (basic check) | |
assert len(page.content()) > 0 | |