guidePackage.test.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import MockAdapter from 'axios-mock-adapter'
  2. import axios from '@/utils/request'
  3. import {
  4. getMyPackages,
  5. getGuidePackage,
  6. getGuidePackageItems,
  7. createPackage,
  8. updatePackage,
  9. submitPackageForReview,
  10. publishPackage,
  11. addPackageItem,
  12. updatePackageItem,
  13. deletePackageItem
  14. } from '@/api/guidePackage'
  15. let mock
  16. beforeEach(() => {
  17. mock = new MockAdapter(axios)
  18. })
  19. afterEach(() => {
  20. mock.restore()
  21. })
  22. describe('guidePackage API', () => {
  23. test('getMyPackages sends POST', async () => {
  24. mock.onPost('/api/packages/my').reply(200, { code: 200, data: [] })
  25. const res = await getMyPackages()
  26. expect(res.code).toBe(200)
  27. })
  28. test('getGuidePackage sends POST with id', async () => {
  29. mock.onPost('/api/packages/1').reply(200, { code: 200, data: { id: 1 } })
  30. const res = await getGuidePackage(1)
  31. expect(res.data.id).toBe(1)
  32. })
  33. test('getGuidePackageItems sends POST with packageId', async () => {
  34. mock.onPost('/api/packages/1/item-list').reply(200, { code: 200, data: [] })
  35. const res = await getGuidePackageItems(1)
  36. expect(res.code).toBe(200)
  37. })
  38. test('createPackage sends POST with data', async () => {
  39. mock.onPost('/api/packages/create').reply(200, { code: 200, data: { id: 1 } })
  40. const res = await createPackage({ name: '套餐' })
  41. expect(res.data.id).toBe(1)
  42. })
  43. test('updatePackage sends PUT with id and data', async () => {
  44. mock.onPut('/api/packages/1').reply(200, { code: 200, data: true })
  45. const res = await updatePackage(1, { name: '新名称' })
  46. expect(res.code).toBe(200)
  47. })
  48. test('submitPackageForReview sends POST', async () => {
  49. mock.onPost('/api/packages/1/submit').reply(200, { code: 200, data: true })
  50. const res = await submitPackageForReview(1)
  51. expect(res.code).toBe(200)
  52. })
  53. test('publishPackage sends POST with publish flag', async () => {
  54. mock.onPost('/api/packages/1/publish').reply(200, { code: 200, data: true })
  55. const res = await publishPackage(1, true)
  56. expect(res.code).toBe(200)
  57. })
  58. test('addPackageItem sends POST with data', async () => {
  59. mock.onPost('/api/packages/1/items').reply(200, { code: 200, data: { id: 1 } })
  60. const res = await addPackageItem(1, { taskId: 10 })
  61. expect(res.data.id).toBe(1)
  62. })
  63. test('updatePackageItem sends PUT', async () => {
  64. mock.onPut('/api/packages/items/1').reply(200, { code: 200, data: true })
  65. const res = await updatePackageItem(1, { points: 20 })
  66. expect(res.code).toBe(200)
  67. })
  68. test('deletePackageItem sends DELETE', async () => {
  69. mock.onDelete('/api/packages/items/1').reply(200, { code: 200, data: true })
  70. const res = await deletePackageItem(1)
  71. expect(res.code).toBe(200)
  72. })
  73. })