123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- import {
- intercept,
- loginIntercept,
- loginSetup,
- menuIntercept,
- menuTrigger,
- successIntercept,
- tableBtnClick,
- validateDelete,
- validatePut,
- validateTableList,
- validateTableSearch,
- } from './utils';
- describe('菜单管理', function() {
- beforeEach(function() {
- loginIntercept();
- menuIntercept();
- loginSetup();
- menuTrigger(3, 0);
- });
- beforeEach(function() {
- intercept('/menu/getPage', function({reply, url: reqUrl}) {
- const url = new URL(reqUrl);
- const search = new URLSearchParams(url.search);
- if (search.get('pId') !== '0') {
- if (search.has('name') && search.get('name').length)
- return reply({fixture: 'menu/childSearchList'});
- const page = search.get('page');
- return reply({fixture: `menu/childList${page}`});
- }
- if (search.has('name') && search.get('name').length)
- return reply({fixture: 'menu/searchList'});
- const page = search.get('page');
- return reply({fixture: `menu/list${page}`});
- });
- successIntercept('/menu/addMenu');
- successIntercept('/menu/updateMenu');
- successIntercept('/menu/delMenu');
- });
- const TABLE_NAME = 'menu_table',
- MODAL_NAME = 'menu_modal',
- LABEL = '菜单';
- it('表格', function() {
- validateTableList(TABLE_NAME);
- });
- it('搜索', function() {
- const validate = validateTableSearch(TABLE_NAME, '菜单搜索');
- cy.get('#filter_menuName').type('name');
- validate();
- });
- it('删除', function() {
- validateDelete(TABLE_NAME, LABEL);
- });
- const {validateAdd, validateEdit} = validatePut(MODAL_NAME, LABEL);
- it('新增', function() {
- validateAdd(function() {
- cy.getTestId('field_menuName').type('菜单名称');
- cy.getTestId('field_menuUrl').type('/test');
- cy.getTestId('field_menuOrderBy').clear().type('8');
- });
- });
- it('修改', function() {
- validateEdit(TABLE_NAME, function() {
- cy.getTestId('field_menuName').should('have.value', '用户设置');
- cy.getTestId('field_menuUrl').should('have.value', '.');
- cy.getTestId('field_menuOrderBy').should('have.value', '1');
- });
- });
- const CHILD_TALBE_NAME = 'child_menu_table',
- CHILD_MODAL_NAME = 'child_menu_modal',
- CHILD_LABEL = '菜单';
- it('子菜单展示', function() {
- tableBtnClick(TABLE_NAME, 2);
- cy.getTestId('child_menu').should('exist').and('be.visible');
- validateTableList(CHILD_TALBE_NAME);
- });
- it('子菜单关闭', function() {
- tableBtnClick(TABLE_NAME, 2);
- cy.getTestId('child_menu').should('exist').and('be.visible');
- cy.getTestId('child_menu_back').click();
- cy.getTestId('child_menu').should('not.exist');
- });
- it('子菜单查询', function() {
- tableBtnClick(TABLE_NAME, 2);
- const validate = validateTableSearch(
- CHILD_TALBE_NAME,
- 'childMenuSearch',
- {btnTestId: 'child_menu_search_btn'},
- );
- cy.get('#filter_childMenuName').type('子菜单名称');
- validate();
- });
- it('子菜单删除', function() {
- tableBtnClick(TABLE_NAME, 2);
- validateDelete(CHILD_TALBE_NAME, CHILD_LABEL);
- });
- const {
- validateAdd: childValidateAdd,
- validateEdit: childValidateEdit,
- } = validatePut(
- CHILD_MODAL_NAME,
- CHILD_LABEL,
- {addBtnTestId: 'child_menu_add_btn'},
- );
- it('子菜单新增', function() {
- tableBtnClick(TABLE_NAME, 2);
- childValidateAdd(function() {
- cy.getTestId('field_menuName').type('菜单名称');
- cy.getTestId('field_menuUrl').type('/test');
- cy.getTestId('field_menuOrderBy').clear().type('8');
- });
- });
- it('子菜单修改', function() {
- tableBtnClick(TABLE_NAME, 2);
- childValidateEdit(CHILD_TALBE_NAME, function() {
- cy.getTestId('field_menuName').should('have.value', '用户管理');
- cy.getTestId('field_menuUrl').should('have.value', '/user');
- cy.getTestId('field_menuOrderBy').should('have.value', '0');
- });
- });
- });
|