const { test, expect } = require('@playwright/test'); const { loginAs, BASE_URL } = require('../../helpers/auth'); const { assertApiSuccess, assertApiError, authHeaders } = require('../../helpers/utils'); test.describe('【家长】测评订单', () => { var auth; test.beforeAll(async ({ browser }) => { auth = await loginAs(browser, 'parent'); }); test('[场景1] 创建测评订单 — 期望返回订单ID或id', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/dan-assessment/order/create', { headers: authHeaders(auth), data: { childUserId: 1003, packageId: 1, teacherUserId: 1005 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); expect(data.orderId || data.id || data).toBeDefined(); }); test('[场景2] 查看订单详情 — 期望返回包含status字段的订单信息', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/dan-assessment/order/detail', { headers: authHeaders(auth), data: { orderId: 1 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); expect(data.status || data).toBeDefined(); }); test('[场景3] 取消未支付订单 — 期望返回成功', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/dan-assessment/order/cancel', { headers: authHeaders(auth), data: { orderId: 1 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); }); test('[场景4] 查看订单列表 — 期望返回订单列表', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/dan-assessment/order/list', { headers: authHeaders(auth), data: { childUserId: 1003 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); }); test('[场景5] 创建订单失败 — 空参数期望返回错误', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/dan-assessment/order/create', { headers: authHeaders(auth), data: {} }); await assertApiError(resp); }); test('[场景6] 查看不存在的订单详情 — 期望返回错误', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/dan-assessment/order/detail', { headers: authHeaders(auth), data: { orderId: 999999 } }); await assertApiError(resp); }); });