menu.cy.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import {
  2. beforeSetup,
  3. generateNetworkResult,
  4. intercept,
  5. intoMenu,
  6. successIntercept,
  7. tableBtnClick,
  8. validateDelete,
  9. validatePut,
  10. validateTableList,
  11. validateTableSearch,
  12. } from './utils';
  13. const basicData = {
  14. id: '7',
  15. name: '系统设置',
  16. url: '.',
  17. pId: '0',
  18. idCode: null,
  19. type: 'PC',
  20. page: 0,
  21. limit: 0,
  22. orderBy: '0',
  23. menu: null,
  24. img: 'xitongguanli',
  25. modifyUser: 'admin',
  26. modifyTime: '2023-03-29 13:42:47',
  27. pid: '0',
  28. };
  29. const TABLE_NAME = 'menu_table',
  30. TABLE_NAME2 = 'child_menu_table';
  31. describe('菜单管理', function () {
  32. beforeEach(function () {
  33. beforeSetup(true);
  34. intoMenu('系统设置', '菜单管理');
  35. });
  36. beforeEach(function () {
  37. intercept('/menu/getPage', function ({search, reply}) {
  38. generateNetworkResult({
  39. search,
  40. reply,
  41. basicData,
  42. title: 'name',
  43. skipCondition(name) {
  44. return name === 'pId' || name === 'type';
  45. },
  46. });
  47. });
  48. successIntercept(['/menu/addMenu', '/menu/updateMenu', '/menu/delMenu']);
  49. });
  50. it('table', function () {
  51. validateTableList(TABLE_NAME);
  52. validateTableSearch(TABLE_NAME, ['menuName', 'modifyUser'], {
  53. toolId: 'menu_filter',
  54. url: '/menu/getPage',
  55. });
  56. });
  57. it('operation', function () {
  58. const {validateAdd, validateEdit} = validatePut('menu_modal', TABLE_NAME, {
  59. label: '菜单',
  60. });
  61. validateAdd(['menuName', 'menuIcon', 'menuOrderBy']);
  62. validateEdit([
  63. {id: 'menuName', type: 'field', value: basicData.name},
  64. {id: 'menuIcon', type: 'field', value: basicData.img},
  65. {id: 'menuOrderBy', type: 'field', value: basicData.orderBy},
  66. ]);
  67. validateDelete(TABLE_NAME, '菜单', {eq: 2, title: 'page-1'});
  68. });
  69. it('子菜单表格', function () {
  70. tableBtnClick(TABLE_NAME, 1);
  71. validateTableList(TABLE_NAME2);
  72. validateTableSearch(TABLE_NAME2, ['childMenuName', 'modifyUser'], {
  73. toolId: 'child_menu_filter',
  74. url: '/menu/getPage',
  75. });
  76. });
  77. it.only('子菜单操作', function () {
  78. tableBtnClick(TABLE_NAME, 1);
  79. const {validateAdd, validateEdit} = validatePut(
  80. 'child_menu_modal',
  81. TABLE_NAME2,
  82. {
  83. label: '菜单',
  84. },
  85. );
  86. validateAdd([
  87. 'menuName',
  88. 'menuUrl',
  89. {id: 'menuOrderBy', type: 'field', value: '2'},
  90. ]);
  91. validateEdit([
  92. {id: 'menuName', type: 'field', value: basicData.name},
  93. {id: 'menuUrl', type: 'field', value: basicData.url},
  94. {id: 'menuOrderBy', type: 'field', value: basicData.orderBy},
  95. ]);
  96. validateDelete(TABLE_NAME2, '菜单', {title: 'page-1'});
  97. });
  98. });