/** * L2 回归测试:专辑管理 */ import { test, expect } from '@playwright/test'; import { apiGet, apiPost, apiPut, apiDelete, initApiClient, disposeApiClient } from '../helpers/api-client'; test.describe('专辑管理 (Album)', () => { test.beforeAll(async () => { await initApiClient(); }); test.afterAll(async () => { await disposeApiClient(); }); test('AL01: 获取专辑列表 GET /api/book-generator/albums', async () => { const res = await apiGet('/api/book-generator/albums'); expect(res.code).toBe(0); }); test('AL02: 获取专辑章节 GET /api/book-generator/albums/:id/chapters', async () => { const res = await apiGet('/api/book-generator/albums/1/chapters'); expect([0, 404]).toContain(res.code); }); test('AL03: 重命名专辑 PUT /api/book-generator/album/:id/rename', async () => { const res = await apiPut('/api/book-generator/album/1/rename', { title: '新名称' }); expect([0, 404, 403]).toContain(res.code); }); test('AL04: 重命名章节 PUT /api/book-generator/album/:bookId/chapters/:chapterId/rename', async () => { const res = await apiPut('/api/book-generator/album/1/chapters/1/rename', { title: '新章节' }); // 可能成功(0)、未找到(404)、禁止(403)或需要认证(401) expect([0, 401, 403, 404]).toContain(res.code); }); test('AL05: 移动章节 PUT /api/book-generator/album/:bookId/chapters/:chapterId/move', async () => { const res = await apiPut('/api/book-generator/album/1/chapters/1/move', { newNumber: 2 }); // 可能成功(0)、未找到(404)、禁止(403)或需要认证(401) expect([0, 401, 403, 404]).toContain(res.code); }); });