Ejemplo n.º 1
0
            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();
            }
Ejemplo n.º 2
0
            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));
            }
Ejemplo n.º 3
0
            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));
            }