| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { test, expect } from '../fixtures/base';
- import { GenerationPreviewPage } from '../pages/generation-preview.page';
- import { createSettingsStorage } from '../fixtures/test-data/settings';
- const SETTINGS_STORAGE = createSettingsStorage();
- const GENERATION_SESSION = JSON.stringify({
- sessionId: 'e2e-test-session',
- requirements: {
- requirement: '讲解光合作用',
- language: 'zh-CN',
- },
- pdfText: '',
- pdfImages: [],
- imageStorageIds: [],
- sceneOutlines: null,
- currentStep: 'generating',
- });
- test.describe('Generation Flow', () => {
- test.beforeEach(async ({ page }) => {
- await page.addInitScript(
- ({ settings, session }) => {
- localStorage.setItem('settings-storage', settings);
- sessionStorage.setItem('generationSession', session);
- },
- { settings: SETTINGS_STORAGE, session: GENERATION_SESSION },
- );
- });
- test('completes generation pipeline and redirects to classroom', async ({ page, mockApi }) => {
- // Set up all API mocks
- await mockApi.setupGenerationMocks();
- const preview = new GenerationPreviewPage(page);
- await preview.goto();
- // Generation card with progress dots should be visible
- await expect(preview.stepTitle).toBeVisible();
- // Wait for auto-redirect to classroom
- await preview.waitForRedirectToClassroom();
- expect(page.url()).toMatch(/\/classroom\//);
- });
- });
|