File size: 1,390 Bytes
a0ebf39 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 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\//);
});
});
|