user.cy.ts 3.0 KB

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