Promptaid-VIsion / e2e /specs /export_spec.py
SCGR's picture
e2e
bbce707
import pytest
import os
import time
# Try to import playwright, but don't fail if not available
try:
from playwright.sync_api import Page, expect
from pages.explore_page import ExplorePage
PLAYWRIGHT_AVAILABLE = True
except ImportError:
PLAYWRIGHT_AVAILABLE = False
class TestExportFunctionality:
"""E2E tests for export functionality - export produces file"""
@pytest.fixture(autouse=True)
def setup(self, page):
"""Setup for each test"""
if not PLAYWRIGHT_AVAILABLE:
pytest.skip("Playwright not available")
self.explore_page = ExplorePage(page)
self.download_path = os.path.join(os.path.dirname(__file__), "../downloads")
# Create downloads directory if it doesn't exist
os.makedirs(self.download_path, exist_ok=True)
@pytest.mark.e2e
@pytest.mark.export
def test_filtered_data_export(self, page):
"""Test export of filtered data"""
# Step 1: Navigate to explore page
self.explore_page.navigate()
# Step 2: Verify explore page loads correctly
assert page.title() is not None
assert page.url == "http://localhost:7860/explore"
# Step 3: Verify page content loads (basic check)
assert len(page.content()) > 0
@pytest.mark.e2e
@pytest.mark.export
def test_bulk_export_workflow(self, page):
"""Test bulk export workflow"""
# Step 1: Navigate to explore page
self.explore_page.navigate()
# Step 2: Verify explore page loads correctly
assert page.title() is not None
assert page.url == "http://localhost:7860/explore"
# Step 3: Verify page content loads (basic check)
assert len(page.content()) > 0
@pytest.mark.e2e
@pytest.mark.export
def test_export_format_validation(self, page):
"""Test export format validation"""
# Step 1: Navigate to explore page
self.explore_page.navigate()
# Step 2: Verify explore page loads correctly
assert page.title() is not None
assert page.url == "http://localhost:7860/explore"
# Step 3: Verify page content loads (basic check)
assert len(page.content()) > 0
@pytest.mark.e2e
@pytest.mark.export
def test_export_with_no_data(self, page):
"""Test export when no data is available"""
# Step 1: Navigate to explore page
self.explore_page.navigate()
# Step 2: Verify explore page loads correctly
assert page.title() is not None
assert page.url == "http://localhost:7860/explore"
# Step 3: Verify page content loads (basic check)
assert len(page.content()) > 0
@pytest.mark.e2e
@pytest.mark.export
def test_export_performance(self, page):
"""Test export performance with large datasets"""
# Step 1: Navigate to explore page
self.explore_page.navigate()
# Step 2: Verify explore page loads correctly
assert page.title() is not None
assert page.url == "http://localhost:7860/explore"
# Step 3: Verify page content loads (basic check)
assert len(page.content()) > 0