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] 查看积分余额 — 期望返回balance或points字段', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/balance', { headers: authHeaders(auth), data: { userId: 1002 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); expect(data.balance !== undefined || data.points !== undefined || data).toBeDefined(); }); test('[场景2] 查看积分流水列表 — 期望返回列表数据', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/flow/list', { headers: authHeaders(auth), data: { userId: 1002, page: 1, pageSize: 20 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); expect(Array.isArray(data) ? data : data.list || data.records || []).toBeDefined(); }); test('[场景3] 查看积分明细 — 期望返回积分详情', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/detail', { headers: authHeaders(auth), data: { userId: 1002 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); }); test('[场景4] 查看家庭积分汇总 — 期望返回家庭积分总额', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/family/summary', { headers: authHeaders(auth), data: { familyId: 2001 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); }); test('[场景5] 积分余额查询失败 — 无效的userId期望返回错误', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/balance', { headers: authHeaders(auth), data: { userId: 999999 } }); await assertApiError(resp); }); test('[场景6] 积分流水查询失败 — 空参数期望返回错误', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/flow/list', { headers: authHeaders(auth), data: {} }); await assertApiError(resp); }); });