test: 完善单元测试
This commit is contained in:
109
Yi.Abp.Net8/test/Yi.Framework.Rbac.Test/System/Account_Test.cs
Normal file
109
Yi.Abp.Net8/test/Yi.Framework.Rbac.Test/System/Account_Test.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Shouldly;
|
||||
using Volo.Abp.Domain.Repositories;
|
||||
using Xunit;
|
||||
using Yi.Framework.Rbac.Application.Contracts.Dtos.Account;
|
||||
using Yi.Framework.Rbac.Application.Contracts.Dtos.User;
|
||||
using Yi.Framework.Rbac.Application.Contracts.IServices;
|
||||
using Yi.Framework.Rbac.Application.Services.System;
|
||||
using Yi.Framework.Rbac.Domain.Entities;
|
||||
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
||||
using Yi.Framework.Rbac.Test;
|
||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
|
||||
namespace Yi.Framework.Rbac.Test.System
|
||||
{
|
||||
public class Account_Test : YiTestWebBase
|
||||
{
|
||||
|
||||
private IAccountService _accountService;
|
||||
private ISqlSugarRepository<UserEntity> _userRepository;
|
||||
public Account_Test()
|
||||
{
|
||||
_accountService = GetRequiredService<IAccountService>();
|
||||
_userRepository = GetRequiredService<ISqlSugarRepository<UserEntity>>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 注册
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Register_Test()
|
||||
{
|
||||
await _accountService.PostRegisterAsync(new RegisterDto() { UserName = "RegisterTest", Password = "123456", Phone = 15945645645 });
|
||||
var user = await _userRepository._DbQueryable.Where(user => user.UserName == "RegisterTest").FirstAsync();
|
||||
user.ShouldNotBeNull();
|
||||
user.JudgePassword("123456").ShouldBeTrue();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 用户名重复注册
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Register_UserNameRepeat_Error_Test()
|
||||
{
|
||||
try
|
||||
{
|
||||
await _accountService.PostRegisterAsync(new RegisterDto() { UserName = "RegisterUserNameRepeatErrorTest", Password = "123456", Phone = 15945645641 });
|
||||
await _accountService.PostRegisterAsync(new RegisterDto() { UserName = "RegisterUserNameRepeatErrorTest", Password = "123456", Phone = 15945645642 });
|
||||
}
|
||||
catch (UserFriendlyException ex)
|
||||
{
|
||||
ex.Message.ShouldBe(UserConst.User_Exist);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 电话号码重复注册
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Register_PhoneRepeat_Error_Test()
|
||||
{
|
||||
try
|
||||
{
|
||||
await _accountService.PostRegisterAsync(new RegisterDto() { UserName = "RegisterPhoneRepeatErrorTest1", Password = "123456", Phone = 15945645633 });
|
||||
await _accountService.PostRegisterAsync(new RegisterDto() { UserName = "RegisterPhoneRepeatErrorTest2", Password = "123456", Phone = 15945645633 });
|
||||
}
|
||||
catch (UserFriendlyException ex)
|
||||
{
|
||||
ex.Message.ShouldBe(UserConst.Phone_Repeat);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 登录测试
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Login_Test()
|
||||
{
|
||||
await _accountService.PostRegisterAsync(new RegisterDto() { UserName = "LoginTest", Password = "123456", Phone = 13845645645 });
|
||||
var result = await _accountService.PostLoginAsync(new LoginInputVo { UserName = "LoginTest", Password = "123456" });
|
||||
|
||||
result.GetType().GetProperty("Token").GetValue(result, null).ToString().ShouldNotBeNull();
|
||||
result.GetType().GetProperty("RefreshToken").GetValue(result, null).ToString().ShouldNotBeNull();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重置密码
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Reset_Passworld_Test()
|
||||
{
|
||||
await _accountService.PostRegisterAsync(new RegisterDto() { UserName = "ResetPassworldTest", Password = "123456", Phone = 15945645555 });
|
||||
var user = await _userRepository._DbQueryable.Where(user => user.UserName == "ResetPassworldTest").FirstAsync();
|
||||
await _accountService.RestPasswordAsync(user.Id, new RestPasswordDto { Password = "654321abc" });
|
||||
var result = await _accountService.PostLoginAsync(new LoginInputVo { UserName = "ResetPassworldTest", Password = "654321abc" });
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
84
Yi.Abp.Net8/test/Yi.Framework.Rbac.Test/System/User_Test.cs
Normal file
84
Yi.Abp.Net8/test/Yi.Framework.Rbac.Test/System/User_Test.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Shouldly;
|
||||
using TencentCloud.Ame.V20190916.Models;
|
||||
using TencentCloud.Tiw.V20190919.Models;
|
||||
using Volo.Abp.Domain.Repositories;
|
||||
using Xunit;
|
||||
using Yi.Framework.Rbac.Application.Contracts.Dtos.User;
|
||||
using Yi.Framework.Rbac.Application.Contracts.IServices;
|
||||
using Yi.Framework.Rbac.Domain.Entities;
|
||||
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
||||
using Yi.Framework.Rbac.Domain.Shared.Enums;
|
||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
|
||||
namespace Yi.Framework.Rbac.Test.System
|
||||
{
|
||||
public class User_Test : YiTestBase
|
||||
{
|
||||
private IUserService _userService;
|
||||
private ISqlSugarRepository<UserEntity> _repository;
|
||||
public User_Test()
|
||||
{
|
||||
_userService = ServiceProvider.GetRequiredService<IUserService>();
|
||||
_repository = ServiceProvider.GetRequiredService<ISqlSugarRepository<UserEntity>>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询用户
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Get_User_Test()
|
||||
{
|
||||
var user = await _userService.GetListAsync(new UserGetListInputVo { UserName = UserConst.Admin });
|
||||
user.ShouldNotBeNull();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建用户
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Create_User_Test()
|
||||
{
|
||||
await _userService.CreateAsync(new UserCreateInputVo { UserName = "CreateUserTest", Password = "654321" });
|
||||
var user = await _userService.GetListAsync(new UserGetListInputVo { UserName = "CreateUserTest" });
|
||||
user.ShouldNotBeNull();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新用户
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Update_User_Test()
|
||||
{
|
||||
var createdUser = await _userService.CreateAsync(new UserCreateInputVo { Nick = "nickTest", Sex = SexEnum.Woman, UserName = "UpdateUserTest", Password = "654321" });
|
||||
await _userService.UpdateAsync(createdUser.Id, new UserUpdateInputVo { Nick = "nickTest2", Sex = SexEnum.Woman, UserName = "UpdateUserTest", Password = "123456888abc" });
|
||||
var user = await _repository._DbQueryable.Where(user => user.UserName == "UpdateUserTest").FirstAsync();
|
||||
user.ShouldNotBeNull();
|
||||
user.Nick.ShouldBe("nickTest2");
|
||||
user.Sex.ShouldBe(SexEnum.Woman);
|
||||
user.JudgePassword("123456888abc");
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 删除用户
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task Delete_User_Test()
|
||||
{
|
||||
var createdUser = await _userService.CreateAsync(new UserCreateInputVo { UserName = "DeleteUserTest", Password = "123456" });
|
||||
|
||||
var user1 = await _repository._DbQueryable.Where(user => user.UserName == "DeleteUserTest").FirstAsync();
|
||||
user1.ShouldNotBeNull();
|
||||
|
||||
await _userService.DeleteAsync(new List<Guid> { createdUser.Id });
|
||||
var user2 = await _repository._DbQueryable.Where(user => user.UserName == "DeleteUserTest").FirstAsync();
|
||||
user2.ShouldBeNull();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user