08ea5fbe98
添加用户管理视图、API和状态管理文件
151 lines
5.5 KiB
TypeScript
151 lines
5.5 KiB
TypeScript
import { test, expect } from '../test-fixtures';
|
|
|
|
test.describe('@regression 回归测试', () => {
|
|
test.beforeEach(async ({ pageObjects, testData, testLogger }) => {
|
|
testLogger.startTest('回归测试');
|
|
|
|
testLogger.startStep('登录系统');
|
|
await pageObjects.loginPage.navigate();
|
|
await pageObjects.loginPage.login(testData.admin.username, testData.admin.password);
|
|
await pageObjects.dashboardPage.waitForLoad();
|
|
});
|
|
|
|
test.afterEach(async ({ testLogger, helpers }) => {
|
|
await helpers.screenshot.takeScreenshot('after-test');
|
|
testLogger.endTest('回归测试', 'passed');
|
|
});
|
|
|
|
test('@normal 用户管理 - 创建用户', async ({ pageObjects, testData, testLogger }) => {
|
|
testLogger.startStep('导航到用户管理页面');
|
|
await pageObjects.dashboardPage.navigateToUserManagement();
|
|
await pageObjects.userManagementPage.waitForLoad();
|
|
|
|
testLogger.startStep('创建新用户');
|
|
const userData = {
|
|
username: `test_user_${Date.now()}`,
|
|
realName: '测试用户',
|
|
email: 'test@example.com',
|
|
phone: '13800138000',
|
|
status: 1
|
|
};
|
|
|
|
await pageObjects.userManagementPage.createUser(userData);
|
|
|
|
testLogger.startStep('验证用户创建成功');
|
|
const userExists = await pageObjects.userManagementPage.searchUser(userData.username);
|
|
expect(userExists).toBeTruthy();
|
|
|
|
testLogger.endStep('验证用户创建成功', 'passed');
|
|
});
|
|
|
|
test('@normal 用户管理 - 编辑用户', async ({ pageObjects, testData, testLogger }) => {
|
|
testLogger.startStep('导航到用户管理页面');
|
|
await pageObjects.dashboardPage.navigateToUserManagement();
|
|
await pageObjects.userManagementPage.waitForLoad();
|
|
|
|
testLogger.startStep('编辑用户');
|
|
const userData = {
|
|
username: testData.user.username,
|
|
realName: '更新后的用户名',
|
|
email: 'updated@example.com'
|
|
};
|
|
|
|
await pageObjects.userManagementPage.editUser(userData.username, userData);
|
|
|
|
testLogger.startStep('验证用户编辑成功');
|
|
const updatedUser = await pageObjects.userManagementPage.searchUser(userData.username);
|
|
expect(updatedUser).toBeTruthy();
|
|
|
|
testLogger.endStep('验证用户编辑成功', 'passed');
|
|
});
|
|
|
|
test('@normal 用户管理 - 删除用户', async ({ pageObjects, testData, testLogger }) => {
|
|
testLogger.startStep('导航到用户管理页面');
|
|
await pageObjects.dashboardPage.navigateToUserManagement();
|
|
await pageObjects.userManagementPage.waitForLoad();
|
|
|
|
testLogger.startStep('创建测试用户');
|
|
const userData = {
|
|
username: `test_delete_${Date.now()}`,
|
|
realName: '待删除用户',
|
|
email: 'delete@example.com',
|
|
phone: '13800138000',
|
|
status: 1
|
|
};
|
|
|
|
await pageObjects.userManagementPage.createUser(userData);
|
|
|
|
testLogger.startStep('删除用户');
|
|
await pageObjects.userManagementPage.deleteUser(userData.username);
|
|
|
|
testLogger.startStep('验证用户删除成功');
|
|
const userExists = await pageObjects.userManagementPage.searchUser(userData.username);
|
|
expect(userExists).toBeFalsy();
|
|
|
|
testLogger.endStep('验证用户删除成功', 'passed');
|
|
});
|
|
|
|
test('@normal 角色管理 - 创建角色', async ({ pageObjects, testData, testLogger }) => {
|
|
testLogger.startStep('导航到角色管理页面');
|
|
await pageObjects.dashboardPage.navigateToRoleManagement();
|
|
await pageObjects.roleManagementPage.waitForLoad();
|
|
|
|
testLogger.startStep('创建新角色');
|
|
const roleData = {
|
|
roleName: '测试角色',
|
|
roleCode: 'test_role',
|
|
description: '测试角色描述',
|
|
status: 1
|
|
};
|
|
|
|
await pageObjects.roleManagementPage.createRole(roleData);
|
|
|
|
testLogger.startStep('验证角色创建成功');
|
|
const roleExists = await pageObjects.roleManagementPage.searchRole(roleData.roleCode);
|
|
expect(roleExists).toBeTruthy();
|
|
|
|
testLogger.endStep('验证角色创建成功', 'passed');
|
|
});
|
|
|
|
test('@normal 角色管理 - 分配权限', async ({ pageObjects, testData, testLogger }) => {
|
|
testLogger.startStep('导航到角色管理页面');
|
|
await pageObjects.dashboardPage.navigateToRoleManagement();
|
|
await pageObjects.roleManagementPage.waitForLoad();
|
|
|
|
testLogger.startStep('分配权限');
|
|
const permissions = ['dashboard:view', 'user:view', 'user:create'];
|
|
await pageObjects.roleManagementPage.assignPermissions(testData.role.roleCode, permissions);
|
|
|
|
testLogger.startStep('验证权限分配成功');
|
|
const assignedPermissions = await pageObjects.roleManagementPage.getRolePermissions(testData.role.roleCode);
|
|
expect(assignedPermissions).toContain('dashboard:view');
|
|
|
|
testLogger.endStep('验证权限分配成功', 'passed');
|
|
});
|
|
|
|
test('@normal 菜单管理 - 创建菜单', async ({ pageObjects, testData, testLogger }) => {
|
|
testLogger.startStep('导航到菜单管理页面');
|
|
await pageObjects.dashboardPage.navigateToMenuManagement();
|
|
await pageObjects.menuManagementPage.waitForLoad();
|
|
|
|
testLogger.startStep('创建新菜单');
|
|
const menuData = {
|
|
name: '测试菜单',
|
|
code: 'test_menu',
|
|
path: '/test/menu',
|
|
icon: 'SettingOutlined',
|
|
sortOrder: 1,
|
|
status: 1,
|
|
parentId: 0
|
|
};
|
|
|
|
await pageObjects.menuManagementPage.createMenu(menuData);
|
|
|
|
testLogger.startStep('验证菜单创建成功');
|
|
const menuExists = await pageObjects.menuManagementPage.searchMenu(menuData.code);
|
|
expect(menuExists).toBeTruthy();
|
|
|
|
testLogger.endStep('验证菜单创建成功', 'passed');
|
|
});
|
|
});
|