|
|
@@ -1,95 +1,10 @@
|
|
|
-import {
|
|
|
- beforeSetup,
|
|
|
- clickMenu,
|
|
|
- generateNetworkResult,
|
|
|
- intercept,
|
|
|
- validateDialog,
|
|
|
-} from './utils';
|
|
|
-
|
|
|
-const containerBasicData = {
|
|
|
- id: '5',
|
|
|
- department: '涂装班组',
|
|
|
- departmentId: '000300010012',
|
|
|
- type: '充电桩底座+1',
|
|
|
- containerName: '特来电002',
|
|
|
- code: '00002',
|
|
|
- num: '9',
|
|
|
- createTime: '2023-03-31 10:11:27',
|
|
|
- modifyUser: 'admin',
|
|
|
- modifyTime: '2023-03-31 10:46:30',
|
|
|
- page: 0,
|
|
|
- limit: 0,
|
|
|
-};
|
|
|
-
|
|
|
-const roleBasicData = {
|
|
|
- id: 11,
|
|
|
- roleCode: 'BH000011',
|
|
|
- roleName: 'test账户',
|
|
|
- createTime: '2023-03-30 14:50:46',
|
|
|
- remarks: '测试用账户',
|
|
|
- menu: '78,93,88,79,',
|
|
|
- menuBefore: '93,88,79',
|
|
|
- menuPda: '29,30,31,32,',
|
|
|
- modifyUser: 'admin',
|
|
|
- modifyTime: '2023-04-12 15:16:15',
|
|
|
- page: 0,
|
|
|
- limit: 0,
|
|
|
-};
|
|
|
-
|
|
|
-const menuBasicData = {
|
|
|
- id: '7',
|
|
|
- name: '系统设置',
|
|
|
- url: '.',
|
|
|
- pId: '0',
|
|
|
- idCode: null,
|
|
|
- type: 'PC',
|
|
|
- page: 0,
|
|
|
- limit: 0,
|
|
|
- orderBy: '0',
|
|
|
- menu: null,
|
|
|
- img: 'xitongguanli',
|
|
|
- modifyUser: 'admin',
|
|
|
- modifyTime: '2023-03-29 13:42:47',
|
|
|
- pid: '0',
|
|
|
-};
|
|
|
+import {beforeSetup, clickMenu} from './utils';
|
|
|
|
|
|
describe('page tab', function () {
|
|
|
beforeEach(function () {
|
|
|
beforeSetup();
|
|
|
});
|
|
|
|
|
|
- beforeEach(function () {
|
|
|
- intercept('/container/getContainer', function ({reply, search}) {
|
|
|
- generateNetworkResult({
|
|
|
- reply,
|
|
|
- search,
|
|
|
- basicData: containerBasicData,
|
|
|
- title: 'code',
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- intercept('/role/getRole', function ({search, reply}) {
|
|
|
- generateNetworkResult({
|
|
|
- search,
|
|
|
- basicData: roleBasicData,
|
|
|
- reply,
|
|
|
- title: 'roleCode',
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- intercept('/menu/getPage', function ({search, reply}) {
|
|
|
- generateNetworkResult({
|
|
|
- search,
|
|
|
- reply,
|
|
|
- basicData: menuBasicData,
|
|
|
- title: 'name',
|
|
|
- skipCondition(name) {
|
|
|
- return name === 'pId' || name === 'type';
|
|
|
- },
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
function validateTabLength(length: number) {
|
|
|
cy.getTestId('tab_list')
|
|
|
.find('.ant-tabs-nav')
|
|
|
@@ -105,6 +20,16 @@ describe('page tab', function () {
|
|
|
.should('have.text', text);
|
|
|
}
|
|
|
|
|
|
+ function clickTab(eq: number, contextMenu = false) {
|
|
|
+ const el = cy
|
|
|
+ .getTestId('tab_list')
|
|
|
+ .find('.ant-tabs-nav-list')
|
|
|
+ .children('span')
|
|
|
+ .eq(eq);
|
|
|
+
|
|
|
+ contextMenu ? el.trigger('contextmenu') : el.find('.ant-tabs-tab').click();
|
|
|
+ }
|
|
|
+
|
|
|
it('tab', function () {
|
|
|
validateTabLength(1);
|
|
|
// 判断新增是否正确
|
|
|
@@ -116,27 +41,55 @@ describe('page tab', function () {
|
|
|
validateTabActiveText('菜单管理');
|
|
|
validateTabLength(4);
|
|
|
|
|
|
- // 判断删除当前选中的tab
|
|
|
- cy.getTestId('tab_list')
|
|
|
- .find('.ant-tabs-tab-active')
|
|
|
- .find('button')
|
|
|
- .click();
|
|
|
+ // 删除当前标签
|
|
|
+ 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('角色管理');
|
|
|
|
|
|
- // 判断删除非选中的tab
|
|
|
+ clickMenu('基础资料', '容器管理');
|
|
|
clickMenu('系统设置', '菜单管理');
|
|
|
- cy.getTestId('tab_list').find('.ant-tabs-tab').eq(1).find('button').click();
|
|
|
+ clickMenu('系统设置', 'PDA菜单管理');
|
|
|
+
|
|
|
+ // 关闭右侧 移除包含自己
|
|
|
+ clickTab(2, true);
|
|
|
+ cy.getTestId('remove_right').click();
|
|
|
validateTabLength(3);
|
|
|
- validateTabActiveText('菜单管理');
|
|
|
+ validateTabActiveText('容器管理');
|
|
|
|
|
|
- // 判断点击已添加的菜单是否会切换到指定tab
|
|
|
- clickMenu('系统设置', '角色管理');
|
|
|
+ clickMenu('系统设置', '菜单管理');
|
|
|
+ clickMenu('系统设置', 'PDA菜单管理');
|
|
|
+ // 关闭右侧 不移除自己
|
|
|
+ clickTab(1);
|
|
|
+ clickTab(2, true);
|
|
|
+ cy.getTestId('remove_right').click();
|
|
|
+ validateTabLength(3);
|
|
|
validateTabActiveText('角色管理');
|
|
|
|
|
|
- // 清空tab
|
|
|
- cy.getTestId('clear_tab_btn').click();
|
|
|
- validateDialog('清除标签页', '你确定要关闭所有标签页吗?');
|
|
|
+ clickMenu('系统设置', '菜单管理');
|
|
|
+ clickMenu('系统设置', 'PDA菜单管理');
|
|
|
+ // 清除所有
|
|
|
+ clickTab(1, true);
|
|
|
+ cy.getTestId('clear').click();
|
|
|
validateTabLength(1);
|
|
|
+ validateTabActiveText('首页');
|
|
|
});
|
|
|
});
|