wish-management.spec.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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/wishes/list', {
  11. headers: authHeaders(auth),
  12. data: {
  13. childUserId: 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/wishes/approve', {
  21. headers: authHeaders(auth),
  22. data: {
  23. wishId: 1,
  24. action: 'approve'
  25. }
  26. });
  27. var data = await assertApiSuccess(resp);
  28. expect(data).toBeDefined();
  29. });
  30. test('[场景3] 拒绝心愿 — 期望返回成功', async ({ page }) => {
  31. var resp = await page.request.post(BASE_URL + '/api/wishes/reject', {
  32. headers: authHeaders(auth),
  33. data: {
  34. wishId: 1,
  35. reason: '不符合兑换条件'
  36. }
  37. });
  38. var data = await assertApiSuccess(resp);
  39. expect(data).toBeDefined();
  40. });
  41. test('[场景4] 查看心愿详情 — 期望返回心愿详细信息', async ({ page }) => {
  42. var resp = await page.request.post(BASE_URL + '/api/wishes/detail', {
  43. headers: authHeaders(auth),
  44. data: {
  45. wishId: 1
  46. }
  47. });
  48. var data = await assertApiSuccess(resp);
  49. expect(data).toBeDefined();
  50. });
  51. test('[场景5] 心愿审批失败 — 无效的wishId期望返回错误', async ({ page }) => {
  52. var resp = await page.request.post(BASE_URL + '/api/wishes/approve', {
  53. headers: authHeaders(auth),
  54. data: {
  55. wishId: 999999,
  56. action: 'approve'
  57. }
  58. });
  59. await assertApiError(resp);
  60. });
  61. });