points.spec.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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] 查看积分余额 — 期望返回balance或points字段', async ({ page }) => {
  10. var resp = await page.request.post(BASE_URL + '/api/points/balance', {
  11. headers: authHeaders(auth),
  12. data: {
  13. userId: 1002
  14. }
  15. });
  16. var data = await assertApiSuccess(resp);
  17. expect(data).toBeDefined();
  18. expect(data.balance !== undefined || data.points !== undefined || data).toBeDefined();
  19. });
  20. test('[场景2] 查看积分流水列表 — 期望返回列表数据', async ({ page }) => {
  21. var resp = await page.request.post(BASE_URL + '/api/points/flow/list', {
  22. headers: authHeaders(auth),
  23. data: {
  24. userId: 1002,
  25. page: 1,
  26. pageSize: 20
  27. }
  28. });
  29. var data = await assertApiSuccess(resp);
  30. expect(data).toBeDefined();
  31. expect(Array.isArray(data) ? data : data.list || data.records || []).toBeDefined();
  32. });
  33. test('[场景3] 查看积分明细 — 期望返回积分详情', async ({ page }) => {
  34. var resp = await page.request.post(BASE_URL + '/api/points/detail', {
  35. headers: authHeaders(auth),
  36. data: {
  37. userId: 1002
  38. }
  39. });
  40. var data = await assertApiSuccess(resp);
  41. expect(data).toBeDefined();
  42. });
  43. test('[场景4] 查看家庭积分汇总 — 期望返回家庭积分总额', async ({ page }) => {
  44. var resp = await page.request.post(BASE_URL + '/api/points/family/summary', {
  45. headers: authHeaders(auth),
  46. data: {
  47. familyId: 2001
  48. }
  49. });
  50. var data = await assertApiSuccess(resp);
  51. expect(data).toBeDefined();
  52. });
  53. test('[场景5] 积分余额查询失败 — 无效的userId期望返回错误', async ({ page }) => {
  54. var resp = await page.request.post(BASE_URL + '/api/points/balance', {
  55. headers: authHeaders(auth),
  56. data: {
  57. userId: 999999
  58. }
  59. });
  60. await assertApiError(resp);
  61. });
  62. test('[场景6] 积分流水查询失败 — 空参数期望返回错误', async ({ page }) => {
  63. var resp = await page.request.post(BASE_URL + '/api/points/flow/list', {
  64. headers: authHeaders(auth),
  65. data: {}
  66. });
  67. await assertApiError(resp);
  68. });
  69. });