fix(test): 更新InviteService测试用例,适配COS存储重构
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
- 替换IRedisService mock为IUploadConfigService mock - 修复User实体属性名:HeadImg→Avatar, Pid→ParentUserId, CreatedAt→CreateTime, UpdatedAt→UpdateTime - 修复User.Id类型从int转为long
This commit is contained in:
parent
be1fb78d6b
commit
6e19d3c821
|
|
@ -1,4 +1,4 @@
|
|||
using System.Net.Http;
|
||||
using System.Net.Http;
|
||||
using FsCheck;
|
||||
using FsCheck.Xunit;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
|
@ -21,7 +21,7 @@ public class InviteServicePropertyTests
|
|||
private readonly Mock<ILogger<InviteService>> _mockLogger = new();
|
||||
private readonly Mock<IWechatService> _mockWechatService = new();
|
||||
private readonly HttpClient _httpClient = new();
|
||||
private readonly Mock<IRedisService> _mockRedisService = new();
|
||||
private readonly Mock<IUploadConfigService> _mockUploadConfigService = new();
|
||||
|
||||
#region Property 3: 分页查询一致<EFBFBD>?- GetRecordListAsync
|
||||
|
||||
|
|
@ -49,13 +49,13 @@ public class InviteServicePropertyTests
|
|||
for (int i = 0; i < invitedUserCount; i++)
|
||||
{
|
||||
var invitedUser = CreateUser(userId + 1000 + i, seed.Get + 1000 + i);
|
||||
invitedUser.Pid = (int)userId; // 设置为当前用户的下级
|
||||
invitedUser.ParentUserId = (long)userId; // 设置为当前用户的下级
|
||||
dbContext.Users.Add(invitedUser);
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetRecordListAsync(userId, 1, pageSize).GetAwaiter().GetResult();
|
||||
|
|
@ -92,7 +92,7 @@ public class InviteServicePropertyTests
|
|||
for (int i = 0; i < userInvitedCount; i++)
|
||||
{
|
||||
var invitedUser = CreateUser(userId + 1000 + i, seed.Get + 1000 + i);
|
||||
invitedUser.Pid = (int)userId;
|
||||
invitedUser.ParentUserId = (long)userId;
|
||||
dbContext.Users.Add(invitedUser);
|
||||
}
|
||||
|
||||
|
|
@ -100,13 +100,13 @@ public class InviteServicePropertyTests
|
|||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
var otherInvitedUser = CreateUser(otherUserId + 1000 + i, seed.Get + 60000 + i);
|
||||
otherInvitedUser.Pid = (int)otherUserId;
|
||||
otherInvitedUser.ParentUserId = (long)otherUserId;
|
||||
dbContext.Users.Add(otherInvitedUser);
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetRecordListAsync(userId, 1, 20).GetAwaiter().GetResult();
|
||||
|
|
@ -140,14 +140,14 @@ public class InviteServicePropertyTests
|
|||
for (int i = 0; i < totalRecords; i++)
|
||||
{
|
||||
var invitedUser = CreateUser(userId + 1000 + i, seed.Get + 1000 + i);
|
||||
invitedUser.Pid = (int)userId;
|
||||
invitedUser.ParentUserId = (long)userId;
|
||||
dbContext.Users.Add(invitedUser);
|
||||
expectedIds.Add(invitedUser.Id);
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act: 遍历所有页<E69C89>?
|
||||
var allRetrievedIds = new HashSet<long>();
|
||||
|
|
@ -196,13 +196,13 @@ public class InviteServicePropertyTests
|
|||
for (int i = 0; i < totalRecords; i++)
|
||||
{
|
||||
var invitedUser = CreateUser(userId + 1000 + i, seed.Get + 1000 + i);
|
||||
invitedUser.Pid = (int)userId;
|
||||
invitedUser.ParentUserId = (long)userId;
|
||||
dbContext.Users.Add(invitedUser);
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetRecordListAsync(userId, 1, pageSize).GetAwaiter().GetResult();
|
||||
|
|
@ -236,13 +236,13 @@ public class InviteServicePropertyTests
|
|||
for (int i = 0; i < totalRecords; i++)
|
||||
{
|
||||
var invitedUser = CreateUser(userId + 1000 + i, seed.Get + 1000 + i);
|
||||
invitedUser.Pid = (int)userId;
|
||||
invitedUser.ParentUserId = (long)userId;
|
||||
dbContext.Users.Add(invitedUser);
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act: 获取前两<E5898D>?
|
||||
var page1 = service.GetRecordListAsync(userId, 1, pageSize).GetAwaiter().GetResult();
|
||||
|
|
@ -287,7 +287,7 @@ public class InviteServicePropertyTests
|
|||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetWithdrawListAsync(userId, 1, pageSize).GetAwaiter().GetResult();
|
||||
|
|
@ -342,7 +342,7 @@ public class InviteServicePropertyTests
|
|||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetWithdrawListAsync(userId, 1, 20).GetAwaiter().GetResult();
|
||||
|
|
@ -382,7 +382,7 @@ public class InviteServicePropertyTests
|
|||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act: 遍历所有页<E69C89>?
|
||||
var allRetrievedIds = new HashSet<long>();
|
||||
|
|
@ -435,7 +435,7 @@ public class InviteServicePropertyTests
|
|||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetWithdrawListAsync(userId, 1, pageSize).GetAwaiter().GetResult();
|
||||
|
|
@ -473,7 +473,7 @@ public class InviteServicePropertyTests
|
|||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act: 获取前两<E5898D>?
|
||||
var page1 = service.GetWithdrawListAsync(userId, 1, pageSize).GetAwaiter().GetResult();
|
||||
|
|
@ -525,7 +525,7 @@ public class InviteServicePropertyTests
|
|||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetWithdrawListAsync(userId, 1, 20).GetAwaiter().GetResult();
|
||||
|
|
@ -562,7 +562,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetRecordListAsync(1, 1, 20).GetAwaiter().GetResult();
|
||||
|
|
@ -589,7 +589,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.GetWithdrawListAsync(1, 1, 20).GetAwaiter().GetResult();
|
||||
|
|
@ -620,13 +620,13 @@ public class InviteServicePropertyTests
|
|||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
var invitedUser = CreateUser(userId + 1000 + i, seed.Get + 1000 + i);
|
||||
invitedUser.Pid = (int)userId;
|
||||
invitedUser.ParentUserId = (long)userId;
|
||||
dbContext.Users.Add(invitedUser);
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act: 测试边界<E8BEB9>?- page=0 应该被处理为 page=1
|
||||
var result = service.GetRecordListAsync(userId, 0, 10).GetAwaiter().GetResult();
|
||||
|
|
@ -660,7 +660,7 @@ public class InviteServicePropertyTests
|
|||
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act: 测试边界<E8BEB9>?- page=0 应该被处理为 page=1
|
||||
var result = service.GetWithdrawListAsync(userId, 0, 10).GetAwaiter().GetResult();
|
||||
|
|
@ -698,7 +698,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.ApplyWithdrawAsync(userId, withdrawAmount).GetAwaiter().GetResult();
|
||||
|
|
@ -707,7 +707,7 @@ public class InviteServicePropertyTests
|
|||
if (!result.Success) return false;
|
||||
|
||||
// 重新查询用户余额
|
||||
var updatedUser = dbContext.Users.Find((int)userId);
|
||||
var updatedUser = dbContext.Users.Find(userId);
|
||||
if (updatedUser == null) return false;
|
||||
|
||||
var expectedBalance = originalBalance - withdrawAmount;
|
||||
|
|
@ -739,7 +739,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.ApplyWithdrawAsync(userId, withdrawAmount).GetAwaiter().GetResult();
|
||||
|
|
@ -789,7 +789,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.ApplyWithdrawAsync(userId, withdrawAmount).GetAwaiter().GetResult();
|
||||
|
|
@ -799,7 +799,7 @@ public class InviteServicePropertyTests
|
|||
if (string.IsNullOrEmpty(result.ErrorMessage)) return false;
|
||||
|
||||
// 验证用户余额未变<E69CAA>?
|
||||
var updatedUser = dbContext.Users.Find((int)userId);
|
||||
var updatedUser = dbContext.Users.Find(userId);
|
||||
if (updatedUser == null) return false;
|
||||
|
||||
return updatedUser.Balance == balance;
|
||||
|
|
@ -830,7 +830,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.ApplyWithdrawAsync(userId, withdrawAmount).GetAwaiter().GetResult();
|
||||
|
|
@ -841,7 +841,7 @@ public class InviteServicePropertyTests
|
|||
if (!result.ErrorMessage.Contains("1元")) return false;
|
||||
|
||||
// 验证用户余额未变化
|
||||
var updatedUser = dbContext.Users.Find((int)userId);
|
||||
var updatedUser = dbContext.Users.Find(userId);
|
||||
if (updatedUser == null) return false;
|
||||
|
||||
return updatedUser.Balance == balance;
|
||||
|
|
@ -874,7 +874,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.ApplyWithdrawAsync(userId, withdrawAmount).GetAwaiter().GetResult();
|
||||
|
|
@ -885,7 +885,7 @@ public class InviteServicePropertyTests
|
|||
if (!result.ErrorMessage.Contains("整数")) return false;
|
||||
|
||||
// 验证用户余额未变<E69CAA>?
|
||||
var updatedUser = dbContext.Users.Find((int)userId);
|
||||
var updatedUser = dbContext.Users.Find(userId);
|
||||
if (updatedUser == null) return false;
|
||||
|
||||
return updatedUser.Balance == balance;
|
||||
|
|
@ -919,7 +919,7 @@ public class InviteServicePropertyTests
|
|||
// 记录提现前的提现记录<E8AEB0>?
|
||||
var beforeCount = dbContext.Withdrawals.Count(w => w.UserId == userId);
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.ApplyWithdrawAsync(userId, withdrawAmount).GetAwaiter().GetResult();
|
||||
|
|
@ -959,7 +959,7 @@ public class InviteServicePropertyTests
|
|||
// 记录提现前的提现记录<E8AEB0>?
|
||||
var beforeCount = dbContext.Withdrawals.Count(w => w.UserId == userId);
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act
|
||||
var result = service.ApplyWithdrawAsync(userId, withdrawAmount).GetAwaiter().GetResult();
|
||||
|
|
@ -972,7 +972,7 @@ public class InviteServicePropertyTests
|
|||
if (afterCount != beforeCount) return false;
|
||||
|
||||
// 验证用户余额未变<E69CAA>?
|
||||
var updatedUser = dbContext.Users.Find((int)userId);
|
||||
var updatedUser = dbContext.Users.Find(userId);
|
||||
if (updatedUser == null) return false;
|
||||
|
||||
return updatedUser.Balance == balance;
|
||||
|
|
@ -1001,7 +1001,7 @@ public class InviteServicePropertyTests
|
|||
dbContext.Users.Add(user);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockRedisService.Object);
|
||||
var service = new InviteService(dbContext, _mockLogger.Object, _mockWechatService.Object, _httpClient, _mockUploadConfigService.Object);
|
||||
|
||||
// Act: 进行多次提现
|
||||
var withdrawAmounts = new List<decimal>();
|
||||
|
|
@ -1022,7 +1022,7 @@ public class InviteServicePropertyTests
|
|||
var totalWithdrawn = withdrawAmounts.Sum();
|
||||
var expectedBalance = originalBalance - totalWithdrawn;
|
||||
|
||||
var updatedUser = dbContext.Users.Find((int)userId);
|
||||
var updatedUser = dbContext.Users.Find(userId);
|
||||
if (updatedUser == null) return false;
|
||||
|
||||
return updatedUser.Balance == expectedBalance;
|
||||
|
|
@ -1052,20 +1052,20 @@ public class InviteServicePropertyTests
|
|||
{
|
||||
return new User
|
||||
{
|
||||
Id = (int)id,
|
||||
Id = id,
|
||||
OpenId = $"openid_{seed}",
|
||||
Uid = $"UID{seed:D6}",
|
||||
Nickname = $"Test User {seed}",
|
||||
HeadImg = $"https://example.com/avatar_{seed}.jpg",
|
||||
Avatar = $"https://example.com/avatar_{seed}.jpg",
|
||||
InviteCode = $"INV{seed:D6}",
|
||||
Balance = 100.00m + (seed % 100),
|
||||
TotalIncome = 200.00m + (seed % 100),
|
||||
WithdrawnAmount = 50.00m + (seed % 50),
|
||||
Status = 1,
|
||||
Pid = 0,
|
||||
ParentUserId = null,
|
||||
UserLevel = 1,
|
||||
CreatedAt = DateTime.Now.AddDays(-seed % 30),
|
||||
UpdatedAt = DateTime.Now
|
||||
CreateTime = DateTime.Now.AddDays(-seed % 30),
|
||||
UpdateTime = DateTime.Now
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user