|
|
@@ -0,0 +1,153 @@
|
|
|
+import {NETWORK_URL, loginIntercept, loginSetup, menuIntercept} from './utils/setup';
|
|
|
+import {menuTrigger, selectClick, selectGetValue} from './utils/utils';
|
|
|
+
|
|
|
+describe('库位管理', function() {
|
|
|
+ beforeEach(function() {
|
|
|
+ loginIntercept();
|
|
|
+ menuIntercept();
|
|
|
+ loginSetup();
|
|
|
+ menuTrigger(2, 0);
|
|
|
+ });
|
|
|
+
|
|
|
+ beforeEach(function() {
|
|
|
+ cy.intercept(
|
|
|
+ `${NETWORK_URL}/storage/getStorage*`,
|
|
|
+ function({url: reqUrl, reply}) {
|
|
|
+ const url = new URL(reqUrl);
|
|
|
+ const search = new URLSearchParams(url.search);
|
|
|
+
|
|
|
+ if (search.has('storageLocationName') && search.get('storageLocationName').length)
|
|
|
+ return reply({fixture: 'storage/nameSearch'});
|
|
|
+ if (search.has('storageLocationCode') && search.get('storageLocationCode').length)
|
|
|
+ return reply({fixture: 'storage/codeSearch'});
|
|
|
+ if (search.has('storageLocationType') && search.get('storageLocationType').length)
|
|
|
+ return reply({fixture: 'storage/typeSearch'});
|
|
|
+ if (search.has('isNotDisable') && search.get('isNotDisable').length)
|
|
|
+ return reply({fixture: 'storage/disabledSearch'});
|
|
|
+
|
|
|
+ if (search.has('id') && search.get('id').length)
|
|
|
+ return reply({fixture: 'storage/info'});
|
|
|
+
|
|
|
+ const page = search.get('page');
|
|
|
+ reply({fixture: page === '1' ? 'storage/list1' : 'storage/list2'});
|
|
|
+ },
|
|
|
+ );
|
|
|
+
|
|
|
+ cy.intercept(`${NETWORK_URL}/storage/addStorage*`, {fixture: 'success', delay: 100});
|
|
|
+ cy.intercept(`${NETWORK_URL}/storage/updateStorage*`, {fixture: 'success', delay: 100});
|
|
|
+ cy.intercept(`${NETWORK_URL}/storage/delStorage*`, {fixture: 'success', delay: 100});
|
|
|
+ });
|
|
|
+
|
|
|
+ it('表格', function() {
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').should('have.length', 3);
|
|
|
+
|
|
|
+ cy.get('.ant-pagination').find('li[title="2"]').click();
|
|
|
+
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').should('have.length', 2);
|
|
|
+ });
|
|
|
+
|
|
|
+ it('搜索', function() {
|
|
|
+ cy.get('.ant-pagination').find('li[title="2"]').click();
|
|
|
+
|
|
|
+ cy.get('#filter_storageName').type('库位');
|
|
|
+ cy.getTestId('search_btn').click();
|
|
|
+
|
|
|
+ cy.get('.ant-pagination').find('li[title="1"]')
|
|
|
+ .should('have.class', 'ant-pagination-item-active');
|
|
|
+
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').first()
|
|
|
+ .should('include.html', 'searchName');
|
|
|
+
|
|
|
+ cy.get('#filter_storageName').clear();
|
|
|
+ cy.get('#filter_storageCode').type('code');
|
|
|
+ cy.getTestId('search_btn').click();
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').first()
|
|
|
+ .should('include.html', 'searchCode');
|
|
|
+
|
|
|
+ cy.get('#filter_storageCode').clear();
|
|
|
+ cy.get('#filter_storageType').type('type');
|
|
|
+ cy.getTestId('search_btn').click();
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').first()
|
|
|
+ .should('include.html', 'searchType');
|
|
|
+
|
|
|
+ cy.get('#filter_storageType').clear();
|
|
|
+ selectClick('filter_storageState', 1);
|
|
|
+ cy.getTestId('search_btn').click();
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').first()
|
|
|
+ .should('include.html', 'searchDisabled');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('删除', function() {
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').last().find('.ant-btn')
|
|
|
+ .last().click();
|
|
|
+
|
|
|
+ cy.get('.ant-modal-content').should('be.visible');
|
|
|
+ cy.get('.ant-modal-confirm-btns').children().last().trigger('click');
|
|
|
+
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').last().children().last()
|
|
|
+ .should('have.class', 'ant-btn-loading');
|
|
|
+
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').last().children().first()
|
|
|
+ .should('have.attr', 'disabled');
|
|
|
+
|
|
|
+ cy.get('.ant-message-notice-content').should('include.text', '删除成功');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('新增', function() {
|
|
|
+ cy.getTestId('add_btn').click();
|
|
|
+
|
|
|
+ cy.getTestId('storage_modal').should('exist').and('be.visible');
|
|
|
+ cy.getTestId('storage_modal').find('h3').should('include.text', '新增库位');
|
|
|
+
|
|
|
+ cy.getTestId('field_storageLocationCode').type('0001');
|
|
|
+ cy.getTestId('field_storageLocationName').type('名称');
|
|
|
+ cy.getTestId('field_storageLocationType').type('类型');
|
|
|
+ cy.getTestId('field_storageWarehouseWhere').type('1号仓库');
|
|
|
+
|
|
|
+ selectClick('select_storageIsNotDisable', 1);
|
|
|
+
|
|
|
+ cy.getTestId('storage_modal').find('form').submit();
|
|
|
+
|
|
|
+ cy.getTestId('modal_btn_group').find('.ant-btn').first()
|
|
|
+ .should('have.class', 'ant-btn-loading');
|
|
|
+ cy.getTestId('modal_btn_group').find('.ant-btn').last()
|
|
|
+ .should('have.attr', 'disabled');
|
|
|
+
|
|
|
+ cy.get('.ant-message-notice-content').should('include.text', '新增成功');
|
|
|
+ cy.getTestId('storage_modal').should('not.exist');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('修改', function() {
|
|
|
+ cy.getTestId('storage_table').find('table').find('.ant-table-tbody')
|
|
|
+ .children('.ant-table-row').first().find('td').last().find('.ant-btn')
|
|
|
+ .first().click();
|
|
|
+
|
|
|
+ cy.getTestId('storage_modal').should('exist').and('be.visible');
|
|
|
+ cy.getTestId('storage_modal').find('h3').should('include.text', '修改库位');
|
|
|
+
|
|
|
+ cy.getTestId('field_storageLocationCode').should('have.value', '0001');
|
|
|
+ cy.getTestId('field_storageLocationName').should('have.value', '1号库位');
|
|
|
+ cy.getTestId('field_storageLocationType').should('have.value', '原材料库位');
|
|
|
+ cy.getTestId('field_storageWarehouseWhere').should('have.value', '1号仓库');
|
|
|
+ selectGetValue('select_storageIsNotDisable', '启用');
|
|
|
+
|
|
|
+ cy.getTestId('storage_modal').find('form').submit();
|
|
|
+
|
|
|
+ cy.getTestId('modal_btn_group').find('.ant-btn').first()
|
|
|
+ .should('have.class', 'ant-btn-loading');
|
|
|
+ cy.getTestId('modal_btn_group').find('.ant-btn').last()
|
|
|
+ .should('have.attr', 'disabled');
|
|
|
+
|
|
|
+ cy.get('.ant-message-notice-content').should('include.text', '修改成功');
|
|
|
+ cy.getTestId('storage_modal').should('not.exist');
|
|
|
+ });
|
|
|
+});
|