public async Task DeleteUser_Should_Return_0_When_Delete_Succeed() { A.CallTo(() => _repo.GetUserInfoByUserNameAsync(A <string> ._)).Returns(Task.FromResult(new CoreLayer.Domains.UserInfo { IsDel = false })); A.CallTo(() => _repo.DeleteUserAsync(A <CoreLayer.Domains.UserInfo> ._)).Returns(Task.FromResult(true)); var dto = new DeleteUserDto { UserName = "******" }; var(code, msg) = await _biz.DeleteUserAsync(dto); code.ShouldBe(0); msg.ShouldBe("ok"); }
public async Task <(int code, string msg)> DeleteUserAsync(DeleteUserDto dto) { // ignore some params check... var userInfo = await _repo.GetUserInfoByUserNameAsync(dto.UserName); if (userInfo == null) { return(2001, "can not find user"); } var status = userInfo.CheckUserStatus(); if (status) { return(2002, "user is already been deleted"); } var isSucc = await _repo.DeleteUserAsync(userInfo); if (isSucc) { _logger.LogInformation($"delete {dto.UserName} succeed.."); return(0, "ok"); } else { _logger.LogWarning($"delete {dto.UserName} fail.."); return(9000, "error"); } }