d14513ff34
删除文件: - e2e/admin-frontend-interaction.spec.ts - e2e/admin-publish-core.spec.ts - e2e/admin-publish.spec.ts - e2e/website-acceptance.spec.ts 原因: - 已被新的测试架构替代 - 新架构采用Page Object Model模式 - 新架构有更清晰的测试分类(smoke/journeys/features) - 新架构提供更好的可维护性和可扩展性 新测试架构: - smoke/ - 冒烟测试 - journeys/ - 用户旅程测试 - features/ - 功能测试 - pages/ - Page Object Model - fixtures/ - 测试固件
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
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);
|
|
}
|
|
});
|
|
});
|