role.cy.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import {
  2. beforeSetup,
  3. exportIntercept,
  4. generateNetworkResult,
  5. intercept,
  6. intoMenu,
  7. normalIntercept,
  8. successIntercept,
  9. tableBtnClick,
  10. validateDelete,
  11. validateExport,
  12. validateModalBtnGroup,
  13. validatePut,
  14. validateTableList,
  15. validateTableSearch,
  16. } from './utils';
  17. const basicData = {
  18. id: 11,
  19. roleCode: 'BH000011',
  20. roleName: 'test账户',
  21. createTime: '2023-03-30 14:50:46',
  22. remarks: '测试用账户',
  23. menu: '78,93,88,79,',
  24. menuBefore: '93,88,79',
  25. menuPda: '29,30,31,32,',
  26. modifyUser: 'admin',
  27. modifyTime: '2023-04-12 15:16:15',
  28. page: 0,
  29. limit: 0,
  30. };
  31. const TABLE_NAME = 'role_table',
  32. MODAL_NAME = 'role_modal';
  33. describe('角色', function () {
  34. beforeEach(function () {
  35. beforeSetup();
  36. intoMenu('系统设置', '角色管理');
  37. });
  38. beforeEach(function () {
  39. intercept('/role/getRole', function ({search, reply}) {
  40. generateNetworkResult({search, basicData, reply, title: 'roleCode'});
  41. });
  42. successIntercept(['/role/delRole', '/role/addRole', '/role/updateRole']);
  43. exportIntercept('/role/export');
  44. normalIntercept('/menu/getMenu', 'menu/all');
  45. normalIntercept('/menu/getPage', 'menu/pda');
  46. });
  47. it('table', function () {
  48. validateTableList(TABLE_NAME);
  49. validateTableSearch(TABLE_NAME, ['roleCode', 'roleName', 'modifyUser'], {
  50. toolId: 'role_filter',
  51. url: '/role/getRole',
  52. });
  53. });
  54. it('operation', function () {
  55. const {validateAdd, validateEdit} = validatePut(MODAL_NAME, TABLE_NAME, {
  56. label: '角色',
  57. });
  58. validateAdd(['roleName', 'roleRemarks']);
  59. validateEdit([
  60. {id: 'roleName', type: 'field', value: basicData.roleName},
  61. {id: 'roleRemarks', type: 'field', value: basicData.remarks},
  62. ]);
  63. validateDelete(TABLE_NAME, '角色', {eq: 3, title: basicData.roleName});
  64. validateExport(TABLE_NAME);
  65. // 菜单权限
  66. tableBtnClick(TABLE_NAME, 1);
  67. cy.getTestId('role_tree_modal')
  68. .find('h3')
  69. .should('include.html', '菜单权限');
  70. cy.getTestId('role_tree_modal').should('exist').and('be.visible');
  71. cy.getTestId('role_tree')
  72. .find('.ant-tree-list-holder-inner')
  73. .find('.ant-tree-treenode')
  74. .each(function (res, idx) {
  75. idx <= 3
  76. ? expect(res.hasClass('ant-tree-treenode-checkbox-checked')).to.true
  77. : expect(res.hasClass('ant-tree-treenode-checkbox-checked')).to.false;
  78. })
  79. .should('have.length', 17);
  80. cy.getTestId('role_tree_modal').find('form').submit();
  81. validateModalBtnGroup('role_tree_modal');
  82. cy.get('.ant-message-notice-content').should('include.text', '设置成功');
  83. cy.getTestId('role_tree_modal').should('not.exist');
  84. // pda权限
  85. tableBtnClick(TABLE_NAME, 2);
  86. cy.get('.ant-transfer-list')
  87. .eq(0)
  88. .find('.ant-transfer-list-content')
  89. .children('.ant-transfer-list-content-item')
  90. .should('have.length', 10);
  91. cy.get('.ant-transfer-list')
  92. .eq(1)
  93. .find('.ant-transfer-list-content')
  94. .children('.ant-transfer-list-content-item')
  95. .should('have.length', 4);
  96. cy.getTestId('role_pda_menu_modal').find('form').submit();
  97. validateModalBtnGroup('role_pda_menu_modal');
  98. cy.get('.ant-message-notice-content').should('include.text', '设置成功');
  99. cy.getTestId('role_tree_modal').should('not.exist');
  100. });
  101. });