public async Task ShouldSetDebugOnTheUserIdIfUserHasDebugFlag( Models.User user, [Frozen] Identity.Client.User identityUser, [Frozen, Substitute] ILoginProvidersClient loginProvidersClient, [Target] DefaultUserService service, CancellationToken cancellationToken ) { var login = new UserLogin { LoginProvider = "discord", Enabled = true }; identityUser.Logins.Add(login); identityUser.Flags = (long)UserFlags.Debug; var result = await service.GetIdentityServiceUserId(user, cancellationToken); result.Id.Should().Be(identityUser.Id); result.Debug.Should().BeTrue(); }
public async Task ShouldRetrieveUserIdFromCacheIfPresent( Models.User user, UserId expectedId, [Frozen, Substitute] IUserIdCache userIdCache, [Frozen, Substitute] ILoginProvidersClient loginProvidersClient, [Target] DefaultUserService service, CancellationToken cancellationToken ) { userIdCache.TryGetValue(Any <Snowflake>(), out Any <UserId>()).Returns(x => { x[1] = expectedId; return(true); }); var result = await service.GetIdentityServiceUserId(user, cancellationToken); result.Should().Be(expectedId); await loginProvidersClient.DidNotReceive().GetUserByLoginProviderKey(Is("discord"), Is(user.Id.Value.ToString()), Is(cancellationToken)); }
public async Task ShouldFetchTheUserIdFromTheIdentityService( Models.User user, [Frozen] Identity.Client.User identityUser, [Frozen, Substitute] ILoginProvidersClient loginProvidersClient, [Target] DefaultUserService service, CancellationToken cancellationToken ) { var login = new UserLogin { LoginProvider = "discord", Enabled = true }; identityUser.Logins.Add(login); identityUser.Flags = (long)UserFlags.None; var result = await service.GetIdentityServiceUserId(user, cancellationToken); result.Id.Should().Be(identityUser.Id); result.Debug.Should().BeFalse(); result.Enabled.Should().BeTrue(); await loginProvidersClient.Received().GetUserByLoginProviderKey(Is("discord"), Is(user.Id.Value.ToString()), Is(cancellationToken)); }