user.cy.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import {
  2. loginIntercept,
  3. loginSetup,
  4. menuIntercept,
  5. optionsIntercept,
  6. selectClick,
  7. validateSelect,
  8. validateDelete,
  9. validatePut,
  10. validateTableList,
  11. validateTableSearch,
  12. successIntercept,
  13. intercept,
  14. validateExport,
  15. exportIntercept,
  16. dictionaryIntercept,
  17. intoMenu,
  18. } from './utils';
  19. describe('用户管理', function() {
  20. beforeEach(function() {
  21. loginIntercept();
  22. menuIntercept();
  23. loginSetup();
  24. optionsIntercept();
  25. dictionaryIntercept();
  26. intoMenu('用户设置', '用户管理');
  27. });
  28. beforeEach(function() {
  29. intercept(
  30. '/user/getAllUser',
  31. function({reply, url: reqUrl}) {
  32. const url = new URL(reqUrl);
  33. const search = new URLSearchParams(url.search);
  34. if (search.has('userName') && search.get('userName').length)
  35. return reply({fixture: 'user/nameSearch'});
  36. if (search.has('code') && search.get('code').length)
  37. return reply({fixture: 'user/codeSearch'});
  38. if (search.has('id') && search.get('id').length)
  39. return reply({fixture: 'user/userInfo'});
  40. const page = search.get('page');
  41. reply({fixture: page === '1' ? 'user/userList1' : 'user/userList2'});
  42. },
  43. );
  44. successIntercept('/user/delUser');
  45. successIntercept('/user/addUser');
  46. successIntercept('/user/updateUser');
  47. exportIntercept('/user/userExport');
  48. });
  49. const TABLE_NAME = 'user_table',
  50. MODAL_NAME = 'user_add_modal',
  51. LABEL = '用户';
  52. it('用户列表', function() {
  53. validateTableList(TABLE_NAME);
  54. const validate = validateTableSearch(TABLE_NAME);
  55. cy.get('.ant-pagination').find('li[title="2"]').click();
  56. cy.get('input[name="useName"]').type('admin');
  57. cy.get('input[name="useCode"]').clear();
  58. validate('searchName');
  59. cy.get('input[name="useName"]').clear();
  60. cy.get('input[name="useCode"]').type('1234');
  61. validate('searchCode');
  62. validateExport();
  63. });
  64. it('操作', function() {
  65. const {validateAdd, validateEdit} = validatePut(
  66. MODAL_NAME,
  67. LABEL,
  68. );
  69. validateAdd(function() {
  70. cy.get('input[name="userName"]').type('name');
  71. cy.get('input[name="userPassword"]').type('password');
  72. cy.get('input[name="userRealName"]').type('realname');
  73. cy.get('input[name="userEmail"]').type('email');
  74. cy.get('input[name="userLandline"]').type('userLandline');
  75. cy.get('input[name="userPhone"]').type('userPhone');
  76. selectClick('select_userDepartment', 0);
  77. selectClick('select_userRole', 0);
  78. });
  79. validateEdit(TABLE_NAME, function() {
  80. cy.get('input[name="userName"]').should('have.value', '123412');
  81. cy.get('input[name="userPassword"]').should(
  82. 'have.value',
  83. '44349BD19046F3D527D67A5D0D414B09',
  84. );
  85. cy.get('input[name="userRealName"]').should('have.value', '测试');
  86. cy.get('input[name="userEmail"]').should('have.value', '123@adfa.com');
  87. cy.get('input[name="userLandline"]').should('have.value', '1231123');
  88. cy.get('input[name="userPhone"]').should('have.value', '1532');
  89. validateSelect('select_userDepartment', '物流部门');
  90. validateSelect('select_userRole', '物流管理员');
  91. });
  92. validateDelete(TABLE_NAME, LABEL);
  93. });
  94. });