diff --git a/server/MiAssessment/tests/MiAssessment.Tests/Services/InviteServicePropertyTests.cs b/server/MiAssessment/tests/MiAssessment.Tests/Services/InviteServicePropertyTests.cs index 5954fe7..fd60ddb 100644 --- a/server/MiAssessment/tests/MiAssessment.Tests/Services/InviteServicePropertyTests.cs +++ b/server/MiAssessment/tests/MiAssessment.Tests/Services/InviteServicePropertyTests.cs @@ -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> _mockLogger = new(); private readonly Mock _mockWechatService = new(); private readonly HttpClient _httpClient = new(); - private readonly Mock _mockRedisService = new(); + private readonly Mock _mockUploadConfigService = new(); #region Property 3: 分页查询一致�?- 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: 遍历所有页�? var allRetrievedIds = new HashSet(); @@ -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: 获取前两�? 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: 遍历所有页�? var allRetrievedIds = new HashSet(); @@ -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: 获取前两�? 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: 测试边界�?- 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: 测试边界�?- 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; // 验证用户余额未变�? - 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; // 验证用户余额未变�? - 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 // 记录提现前的提现记录�? 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 // 记录提现前的提现记录�? 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; // 验证用户余额未变�? - 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(); @@ -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 }; }