department.cy.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import {
  2. loginIntercept,
  3. menuIntercept,
  4. loginSetup,
  5. menuTrigger,
  6. validateTableSearch,
  7. validateTableList,
  8. validatePut,
  9. validateDelete,
  10. successIntercept,
  11. intercept,
  12. } from './utils';
  13. describe('部门管理', function() {
  14. beforeEach(function() {
  15. loginIntercept();
  16. menuIntercept();
  17. loginSetup();
  18. menuTrigger(1, 2);
  19. });
  20. beforeEach(function() {
  21. intercept(
  22. '/department/getDepartment',
  23. function({url: reqUrl, reply}) {
  24. const url = new URL(reqUrl);
  25. const search = new URLSearchParams(url.search);
  26. if (search.has('departmentName') && search.get('departmentName').length)
  27. return reply({fixture: 'department/nameSearch'});
  28. if (search.has('code') && search.get('code').length)
  29. return reply({fixture: 'department/codeSearch'});
  30. const page = search.get('page');
  31. reply({fixture: page === '1' ? 'department/list1' : 'department/list2'});
  32. },
  33. );
  34. successIntercept('/department/addDepartment');
  35. successIntercept('/department/updateDepartment');
  36. successIntercept('/department/delDepartment');
  37. });
  38. const TABLE_NAME = 'department_table',
  39. MODAL_NAME = 'department_modal',
  40. LABEL = '部门';
  41. it('部门列表', function() {
  42. validateTableList(TABLE_NAME);
  43. });
  44. it('搜索', function() {
  45. const validate = validateTableSearch(TABLE_NAME);
  46. cy.get('#filter_departmentCode').type('TLD0004');
  47. cy.get('#filter_departmentName').clear();
  48. validate('searchCode');
  49. cy.get('#filter_departmentName').type('name');
  50. cy.get('#filter_departmentCode').clear();
  51. validate('searchName');
  52. });
  53. const {validateAdd, validateEdit} = validatePut(
  54. MODAL_NAME,
  55. LABEL,
  56. );
  57. it('新增部门', function() {
  58. function fillField() {
  59. cy.getTestId('field_departmentName').type('测试部门名称');
  60. }
  61. validateAdd(fillField);
  62. });
  63. it('修改部门', function() {
  64. function validateField() {
  65. cy.getTestId('field_departmentName').should('have.value', '包装部门');
  66. }
  67. validateEdit(TABLE_NAME, validateField);
  68. });
  69. it('删除部门', function() {
  70. validateDelete(TABLE_NAME, LABEL);
  71. });
  72. });