import { test, expect } from '../../fixtures/auth'; import { AdminContentPage } from '../../pages'; import { testFixtures } from '../../fixtures/test-data'; test.describe('内容CRUD测试 @feature @admin', () => { let contentPage: AdminContentPage; test.beforeEach(async ({ page }) => { contentPage = new AdminContentPage(page); }); test('创建新闻内容', async ({ authenticatedPage: _authenticatedPage }) => { const testNews = testFixtures.testContent.news; let contentId: string | null = null; try { contentId = await contentPage.createContent(testNews); expect(contentId).not.toBeNull(); await contentPage.expectContentInList(testNews.title); } finally { if (contentId) { await contentPage.deleteContent(contentId); } } }); test('创建产品内容', async ({ authenticatedPage: _authenticatedPage }) => { const testProduct = testFixtures.testContent.product; let contentId: string | null = null; try { contentId = await contentPage.createContent(testProduct); expect(contentId).not.toBeNull(); await contentPage.expectContentInList(testProduct.title); } finally { if (contentId) { await contentPage.deleteContent(contentId); } } }); test('创建内容时验证必填字段', async ({ page, authenticatedPage: _authenticatedPage }) => { await contentPage.gotoCreate(); await page.click('button:has-text("发布")'); await expect(page.locator('.error-message, [role="alert"]')).toBeVisible(); }); test('删除内容', async ({ authenticatedPage: _authenticatedPage }) => { const testNews = testFixtures.testContent.news; const contentId = await contentPage.createContent(testNews); if (contentId) { await contentPage.deleteContent(contentId); await contentPage.expectContentNotInList(testNews.title); } }); });