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] 查看积分余额 — 期望返回数据', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/balance', { headers: authHeaders(auth), data: { childId: 1003 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); }); test('[场景2] 查看积分流水列表 — 期望返回列表数据', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/logs', { headers: authHeaders(auth), data: { childId: 1003, page: 1, size: 20 } }); var data = await assertApiSuccess(resp); expect(data).toBeDefined(); }); test('[场景3] 积分余额空参数 — 后端返回success(data为null)', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/balance', { headers: authHeaders(auth), data: {} }); // Backend tolerates empty params, returns 200 with null data var data = await assertApiSuccess(resp); // No assertion on data — endpoint is callable; backend returns null for empty params }); test('[场景4] 积分流水空参数 — 后端返回空记录列表', async ({ page }) => { var resp = await page.request.post(BASE_URL + '/api/points/logs', { headers: authHeaders(auth), data: {} }); // Backend tolerates empty params, returns 200 with empty records var data = await assertApiSuccess(resp); expect(data).toBeDefined(); }); });