using BuildFlow.Platform.Application.Users.DTOs; using BuildFlow.Platform.Application.Users.Queries; using MediatR; namespace BuildFlow.IM.Integration.Tests; /// /// 进程内用户摘要查询处理器。测试前可预置用户展示名和头像,由 MediatR 按用户 ID 批量返回。 /// public sealed class InMemoryUserSummaryQueryHandler : IRequestHandler> { private readonly Dictionary _users = new(); /// /// 预置一个用户摘要。 /// public void SetUser(Guid userId, string username, string? avatar = null) => _users[userId] = new UserSummaryDto(userId, username, avatar); public Task> Handle( GetUserSummariesQuery request, CancellationToken ct) { IReadOnlyDictionary result = request.UserIds .Distinct() .Where(_users.ContainsKey) .ToDictionary(userId => userId, userId => _users[userId]); return Task.FromResult(result); } }