import {beforeSetup, clickMenu} from './utils'; describe('page tab', function() { beforeEach(function() { beforeSetup(); }); function validateTabLength(length: number) { cy.get('#p_tab_list').find('li[role="tab"]').should('have.length', length); } function validateTabActiveText(text: string) { cy.get('#p_tab_list') .find('li[data-isactive="1"]') .should('have.text', text); } function clickTab(eq: number, contextMenu = false) { const el = cy.get('#p_tab_list').find('li[role="tab"]').eq(eq); contextMenu ? el.trigger('contextmenu') : el.click(); } it('tab', function() { validateTabLength(1); // 判断新增是否正确 clickMenu('基础资料', '容器管理'); validateTabActiveText('容器管理'); clickMenu('系统设置', '角色管理'); validateTabActiveText('角色管理'); clickMenu('系统设置', '菜单管理'); validateTabActiveText('菜单管理'); validateTabLength(4); // 删除当前标签 clickTab(1); clickTab(1, true); cy.getTestId('remove').click(); validateTabLength(3); validateTabActiveText('首页'); // 删除非当前标签 clickTab(2); clickTab(1, true); cy.getTestId('remove').click(); validateTabLength(2); validateTabActiveText('菜单管理'); clickMenu('基础资料', '容器管理'); clickMenu('系统设置', '角色管理'); clickMenu('系统设置', 'PDA菜单管理'); // 除此之外关闭 clickTab(3, true); cy.getTestId('remove_other').click(); validateTabLength(2); validateTabActiveText('角色管理'); clickMenu('基础资料', '容器管理'); clickMenu('系统设置', '菜单管理'); clickMenu('系统设置', 'PDA菜单管理'); // 关闭右侧 移除包含自己 clickTab(2, true); cy.getTestId('remove_right').click(); validateTabLength(3); validateTabActiveText('容器管理'); clickMenu('系统设置', '菜单管理'); clickMenu('系统设置', 'PDA菜单管理'); // 关闭右侧 不移除自己 clickTab(1); clickTab(2, true); cy.getTestId('remove_right').click(); validateTabLength(3); validateTabActiveText('角色管理'); clickMenu('系统设置', '菜单管理'); clickMenu('系统设置', 'PDA菜单管理'); // 清除所有 clickTab(1, true); cy.getTestId('clear').click(); validateTabLength(1); validateTabActiveText('首页'); }); });