storage.cy.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import {
  2. loginIntercept,
  3. loginSetup,
  4. menuIntercept,
  5. menuTrigger,
  6. selectClick,
  7. validateSelect,
  8. validateDelete,
  9. validatePut,
  10. validateTableList,
  11. validateTableSearch,
  12. successIntercept,
  13. intercept,
  14. } from './utils';
  15. describe('库位管理', function() {
  16. beforeEach(function() {
  17. loginIntercept();
  18. menuIntercept();
  19. loginSetup();
  20. menuTrigger(2, 0);
  21. });
  22. beforeEach(function() {
  23. intercept(
  24. '/storage/getStorage',
  25. function({url: reqUrl, reply}) {
  26. const url = new URL(reqUrl);
  27. const search = new URLSearchParams(url.search);
  28. if (search.has('storageLocationName') && search.get('storageLocationName').length)
  29. return reply({fixture: 'storage/nameSearch'});
  30. if (search.has('storageLocationCode') && search.get('storageLocationCode').length)
  31. return reply({fixture: 'storage/codeSearch'});
  32. if (search.has('storageLocationType') && search.get('storageLocationType').length)
  33. return reply({fixture: 'storage/typeSearch'});
  34. if (search.has('isNotDisable') && search.get('isNotDisable').length)
  35. return reply({fixture: 'storage/disabledSearch'});
  36. if (search.has('id') && search.get('id').length)
  37. return reply({fixture: 'storage/info'});
  38. const page = search.get('page');
  39. reply({fixture: page === '1' ? 'storage/list1' : 'storage/list2'});
  40. },
  41. );
  42. successIntercept('/storage/addStorage');
  43. successIntercept('/storage/updateStorage');
  44. successIntercept('/storage/delStorage');
  45. });
  46. it('表格', function() {
  47. validateTableList('storage_table');
  48. });
  49. it('搜索', function() {
  50. const validate = validateTableSearch('storage_table');
  51. cy.get('#filter_storageName').type('库位');
  52. validate('searchName');
  53. cy.get('#filter_storageName').clear();
  54. cy.get('#filter_storageCode').type('code');
  55. validate('searchCode');
  56. cy.get('#filter_storageCode').clear();
  57. cy.get('#filter_storageType').type('type');
  58. validate('searchType');
  59. cy.get('#filter_storageType').clear();
  60. selectClick('filter_storageState', 1);
  61. validate('searchDisabled');
  62. });
  63. it('删除', function() {
  64. validateDelete('storage_table');
  65. });
  66. const {validateAdd, validateEdit} = validatePut(
  67. 'storage_modal',
  68. '库位',
  69. );
  70. it('新增', function() {
  71. validateAdd(function() {
  72. cy.getTestId('field_storageLocationCode').type('0001');
  73. cy.getTestId('field_storageLocationName').type('名称');
  74. cy.getTestId('field_storageLocationType').type('类型');
  75. cy.getTestId('field_storageWarehouseWhere').type('1号仓库');
  76. selectClick('select_storageIsNotDisable', 1);
  77. });
  78. });
  79. it('修改', function() {
  80. validateEdit('storage_table', function() {
  81. cy.getTestId('storage_modal').should('exist').and('be.visible');
  82. cy.getTestId('storage_modal').find('h3').should('include.text', '修改库位');
  83. cy.getTestId('field_storageLocationCode').should('have.value', '0001');
  84. cy.getTestId('field_storageLocationName').should('have.value', '1号库位');
  85. cy.getTestId('field_storageLocationType').should('have.value', '原材料库位');
  86. cy.getTestId('field_storageWarehouseWhere').should('have.value', '1号仓库');
  87. validateSelect('select_storageIsNotDisable', '启用');
  88. });
  89. });
  90. });