manager.cy.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import {
  2. beforeSetup,
  3. exportIntercept,
  4. generateNetworkResult,
  5. intercept,
  6. intoMenu,
  7. normalIntercept,
  8. selectAllFilters,
  9. successIntercept,
  10. tableBtnClick,
  11. validateDelete,
  12. validateDialog,
  13. validateExport,
  14. validateMessageContent,
  15. validateModalBtnGroup,
  16. validatePut,
  17. validateTableList,
  18. validateTableSearch,
  19. } from './utils';
  20. const basicData = {
  21. id: '83',
  22. code: 'YH000083',
  23. userName: 'admin2',
  24. password: 'F6BE46C2F900E518',
  25. newPassword: null,
  26. realName: '测试2',
  27. email: '1211@163.com',
  28. landline: null,
  29. phone: '1336131680',
  30. department: '采购中心(公共) ',
  31. role: 'test账户',
  32. roleId: '11',
  33. departmentId: '00029999',
  34. createTime: '2023-04-03 14:01:45',
  35. token: null,
  36. modifyUser: 'admin',
  37. modifyTime: '2023-04-03 14:18:21',
  38. page: 0,
  39. limit: 0,
  40. menu: '78,93,88,79,',
  41. };
  42. const TABLE_NAME = 'user_table',
  43. MODAL_NAME = 'user_add_modal',
  44. LABEL = '用户',
  45. TOOL_ID = 'user_filter';
  46. describe('首页', function () {
  47. beforeEach(function () {
  48. beforeSetup();
  49. intoMenu('系统设置', '用户管理');
  50. });
  51. beforeEach(function () {
  52. intercept('/user/getAllUser', function ({search, reply}) {
  53. generateNetworkResult({search, reply, basicData, title: 'code'});
  54. });
  55. exportIntercept('/user/resetPassword');
  56. successIntercept([
  57. '/user/addUser',
  58. '/user/updateUser',
  59. '/user/delUser',
  60. '/user/resetPassword',
  61. ]);
  62. normalIntercept('/menu/getMenu', 'menu/all');
  63. });
  64. it('table', function () {
  65. selectAllFilters(TOOL_ID, 8);
  66. validateTableList(TABLE_NAME);
  67. validateTableSearch(
  68. TABLE_NAME,
  69. [
  70. 'userName',
  71. 'realName',
  72. 'code',
  73. {id: 'department', type: 'select', value: '00029999'},
  74. 'role',
  75. 'email',
  76. 'phone',
  77. 'modifyUser',
  78. ],
  79. {toolId: TOOL_ID, url: '/user/getAllUser'},
  80. );
  81. });
  82. it('operation', function () {
  83. validateExport(TABLE_NAME);
  84. const {validateAdd, validateEdit} = validatePut(MODAL_NAME, TABLE_NAME, {
  85. label: LABEL,
  86. });
  87. validateAdd([
  88. 'userName',
  89. 'userRealName',
  90. 'userPassword',
  91. {id: 'userDepartment', type: 'select'},
  92. {id: 'userRole', type: 'select'},
  93. 'userEmail',
  94. 'userPhone',
  95. ]);
  96. validateEdit([
  97. {id: 'userName', type: 'field', value: basicData.userName},
  98. {id: 'userRealName', type: 'field', value: basicData.realName},
  99. {id: 'userDepartment', type: 'select', value: basicData.department},
  100. {id: 'userRole', type: 'select', value: basicData.role},
  101. {id: 'userEmail', type: 'field', value: basicData.email},
  102. {id: 'userPhone', type: 'field', value: basicData.phone},
  103. ]);
  104. // 设置菜单权限
  105. tableBtnClick(TABLE_NAME, 1);
  106. cy.getTestId('user_tree_modal')
  107. .find('h3')
  108. .should('include.html', '菜单权限');
  109. cy.getTestId('user_tree_modal').should('exist').and('be.visible');
  110. cy.getTestId('user_tree')
  111. .find('.ant-tree-list-holder-inner')
  112. .find('.ant-tree-treenode')
  113. .each(function (res, idx) {
  114. idx <= 3
  115. ? expect(res.hasClass('ant-tree-treenode-checkbox-checked')).to.true
  116. : expect(res.hasClass('ant-tree-treenode-checkbox-checked')).to.false;
  117. })
  118. .should('have.length', 17);
  119. cy.getTestId('user_tree_modal').find('form').submit();
  120. validateModalBtnGroup('user_tree_modal');
  121. cy.get('.ant-message-notice-content').should('include.text', '设置成功');
  122. cy.getTestId('user_tree_modal').should('not.exist');
  123. // 重置密码
  124. const resetBtn = tableBtnClick(TABLE_NAME, 2);
  125. validateDialog('重置密码', '你确定要将测试2的密码重置为123456吗?');
  126. resetBtn().should('have.class', 'ant-btn-loading');
  127. validateMessageContent('重置成功');
  128. validateDelete(TABLE_NAME, LABEL, {eq: 3, title: 'admin2'});
  129. });
  130. });