54ea704f27
- 创建角色定义基类 RoleDefinition - 实现管理员角色 AdminRole - 实现普通用户角色 UserRole - 实现测试用户角色 TestRole - 实现角色工厂 RoleFactory - 添加完整的单元测试 - 更新 vitest 配置以包含角色定义测试 所有角色统一使用密码: Test@123
29 lines
928 B
TypeScript
29 lines
928 B
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { RoleFactory } from '../role-factory';
|
|
|
|
describe('RoleFactory', () => {
|
|
it('should get admin role', () => {
|
|
const role = RoleFactory.getRole('admin');
|
|
expect(role.name).toBe('admin');
|
|
expect(role.credentials.username).toBe('admin');
|
|
});
|
|
|
|
it('should get user role', () => {
|
|
const role = RoleFactory.getRole('user');
|
|
expect(role.name).toBe('user');
|
|
expect(role.credentials.username).toBe('normaluser');
|
|
});
|
|
|
|
it('should throw error for unknown role', () => {
|
|
expect(() => RoleFactory.getRole('unknown')).toThrow("Role 'unknown' not found");
|
|
});
|
|
|
|
it('should get all roles', () => {
|
|
const roles = RoleFactory.getAllRoles();
|
|
expect(roles).toHaveLength(3);
|
|
expect(roles.map(r => r.name)).toContain('admin');
|
|
expect(roles.map(r => r.name)).toContain('user');
|
|
expect(roles.map(r => r.name)).toContain('test');
|
|
});
|
|
});
|