| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using YZWater.Core.Models;
- namespace YZWater.Core.Tests.Models;
- public class UserTests
- {
- [Fact]
- public void User_DefaultValues_AreCorrect()
- {
- var user = new User();
- Assert.Equal(0, user.Id);
- Assert.Equal(string.Empty, user.UserName);
- Assert.Equal(string.Empty, user.PasswordHash);
- Assert.Equal(string.Empty, user.DisplayName);
- Assert.Equal(UserRole.Viewer, user.Role);
- Assert.True(user.IsActive);
- Assert.Null(user.LastLoginTime);
- }
- [Fact]
- public void UserRole_HasCorrectHierarchy()
- {
- // 枚举值顺序反映权限递增
- Assert.True(UserRole.Admin > UserRole.Engineer);
- Assert.True(UserRole.Engineer > UserRole.Operator);
- Assert.True(UserRole.Operator > UserRole.Viewer);
- }
- [Fact]
- public void User_CanSetAllProperties()
- {
- var loginTime = new DateTime(2026, 9, 1, 10, 0, 0);
- var user = new User
- {
- Id = 1,
- UserName = "admin",
- PasswordHash = "hash123",
- DisplayName = "管理员",
- Role = UserRole.Admin,
- IsActive = true,
- LastLoginTime = loginTime
- };
- Assert.Equal(1, user.Id);
- Assert.Equal("admin", user.UserName);
- Assert.Equal("hash123", user.PasswordHash);
- Assert.Equal("管理员", user.DisplayName);
- Assert.Equal(UserRole.Admin, user.Role);
- Assert.Equal(loginTime, user.LastLoginTime);
- }
- }
|