goods.cy.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import {
  2. loginIntercept,
  3. menuIntercept,
  4. loginSetup,
  5. optionsIntercept,
  6. menuTrigger,
  7. selectClick,
  8. validateSelect,
  9. validateDelete,
  10. validatePut,
  11. validateTableList,
  12. validateTableSearch,
  13. successIntercept,
  14. intercept,
  15. exportIntercept,
  16. validateExport,
  17. } from './utils';
  18. describe('货品管理', function() {
  19. beforeEach(function() {
  20. loginIntercept();
  21. menuIntercept();
  22. loginSetup();
  23. optionsIntercept();
  24. menuTrigger(2, 1);
  25. });
  26. beforeEach(function() {
  27. intercept('/goods/getGoods', function({url: reqUrl, reply}) {
  28. const url = new URL(reqUrl);
  29. const search = new URLSearchParams(url.search);
  30. if (search.has('itemNumber') && search.get('itemNumber').length)
  31. return reply({fixture: 'goods/search'});
  32. const page = search.get('page');
  33. reply({fixture: page === '1' ? 'goods/list1' : 'goods/list2'});
  34. });
  35. successIntercept('/goods/addGoods');
  36. successIntercept('/goods/delGoods');
  37. successIntercept('/goods/updateGoods');
  38. exportIntercept('/goods/export');
  39. });
  40. const TABLE_NAME = 'goods_table',
  41. MODAL_NAME = 'goods_modal',
  42. LABEL = '货品';
  43. it('表格', function() {
  44. validateTableList(TABLE_NAME);
  45. });
  46. it('搜索', function() {
  47. const validate = validateTableSearch(TABLE_NAME, 'searchCode');
  48. cy.get('#filter_goodsCode').type('P00012');
  49. validate();
  50. });
  51. const {validateAdd, validateEdit} = validatePut(
  52. MODAL_NAME,
  53. LABEL,
  54. );
  55. it('新增', function() {
  56. function inputField() {
  57. cy.getTestId('field_goodsItemNumber').type('品号');
  58. cy.getTestId('field_goodsName').type('goodsName');
  59. cy.getTestId('field_goodsType').type('goodsType');
  60. cy.getTestId('field_goodsMinAccommodate').clear().type('1');
  61. cy.getTestId('field_goodsAccommodateNum').clear().type('1');
  62. cy.getTestId('field_goodsMaxAccommodate').clear().type('1');
  63. cy.getTestId('field_goodsSupplier').type('goodsSupplier');
  64. cy.getTestId('field_goodsInputType').type('goodsInputType');
  65. cy.getTestId('field_goodsLowReserves').clear().type('1');
  66. cy.getTestId('field_goodsHighReserves').clear().type('1');
  67. cy.getTestId('field_goodsGrade').clear().type('1');
  68. cy.getTestId('field_goosdPackingType').type('goosdPackingType');
  69. cy.getTestId('field_goodsUnit').type('goodsUnit');
  70. selectClick('select_goodsStorageLocation');
  71. selectClick('select_goodsUserDepartment');
  72. }
  73. validateAdd(inputField);
  74. });
  75. it('修改', function() {
  76. function validateField() {
  77. cy.getTestId('field_goodsItemNumber').should('have.value', 'P00012');
  78. cy.getTestId('field_goodsName').should('have.value', '测试货品');
  79. cy.getTestId('field_goodsType').should('have.value', '类型1');
  80. cy.getTestId('field_goodsMinAccommodate').should('have.value', '2');
  81. cy.getTestId('field_goodsAccommodateNum').should('have.value', '1');
  82. cy.getTestId('field_goodsMaxAccommodate').should('have.value', '4');
  83. cy.getTestId('field_goodsSupplier').should('have.value', '测试1');
  84. cy.getTestId('field_goodsInputType').should('have.value', '随便');
  85. cy.getTestId('field_goodsLowReserves').should('have.value', '1');
  86. cy.getTestId('field_goodsHighReserves').should('have.value', '3');
  87. cy.getTestId('field_goodsGrade').should('have.value', '等级2');
  88. cy.getTestId('field_goosdPackingType').should('have.value', '无');
  89. cy.getTestId('field_goodsUnit').should('have.value', '公斤');
  90. validateSelect('select_goodsStorageLocation', '1号库位');
  91. validateSelect('select_goodsUserDepartment', '物流部门');
  92. }
  93. validateEdit(TABLE_NAME, validateField);
  94. });
  95. it('删除', function() {
  96. validateDelete(TABLE_NAME, LABEL);
  97. });
  98. it('导出', function() {
  99. validateExport();
  100. });
  101. });