points.spec.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const { test, expect } = require('@playwright/test');
  2. const { loginAs, BASE_URL } = require('../../helpers/auth');
  3. const { assertApiSuccess, assertApiError, authHeaders } = require('../../helpers/utils');
  4. test.describe('【家长】积分管理', () => {
  5. var auth;
  6. test.beforeAll(async ({ browser }) => {
  7. auth = await loginAs(browser, 'parent');
  8. });
  9. test('[场景1] 查看积分余额 — 期望返回数据', async ({ page }) => {
  10. var resp = await page.request.post(BASE_URL + '/api/points/balance', {
  11. headers: authHeaders(auth),
  12. data: {
  13. childId: 1003
  14. }
  15. });
  16. var data = await assertApiSuccess(resp);
  17. expect(data).toBeDefined();
  18. });
  19. test('[场景2] 查看积分流水列表 — 期望返回列表数据', async ({ page }) => {
  20. var resp = await page.request.post(BASE_URL + '/api/points/logs', {
  21. headers: authHeaders(auth),
  22. data: {
  23. childId: 1003,
  24. page: 1,
  25. size: 20
  26. }
  27. });
  28. var data = await assertApiSuccess(resp);
  29. expect(data).toBeDefined();
  30. });
  31. test('[场景3] 积分余额空参数 — 后端返回success(data为null)', async ({ page }) => {
  32. var resp = await page.request.post(BASE_URL + '/api/points/balance', {
  33. headers: authHeaders(auth),
  34. data: {}
  35. });
  36. // Backend tolerates empty params, returns 200 with null data
  37. var data = await assertApiSuccess(resp);
  38. // No assertion on data — endpoint is callable; backend returns null for empty params
  39. });
  40. test('[场景4] 积分流水空参数 — 后端返回空记录列表', async ({ page }) => {
  41. var resp = await page.request.post(BASE_URL + '/api/points/logs', {
  42. headers: authHeaders(auth),
  43. data: {}
  44. });
  45. // Backend tolerates empty params, returns 200 with empty records
  46. var data = await assertApiSuccess(resp);
  47. expect(data).toBeDefined();
  48. });
  49. });