Ejemplo n.º 1
0
        private async Task SetDriverUserInfoAsync(string userId)
        {
            UserId = userId;
            var collection = await _collectionDatabase.WaitForObjectInCollectionAsync("users", userId, TimeoutToken).ConfigureAwait(false);

            var user = collection.GetById <FullUser>(userId);

            Username = user?.Username;
        }
        public async Task Login_with_email()
        {
            var email    = AutoFixture.Create <string>();
            var password = AutoFixture.Create <string>();
            var payload  = new
            {
                user = new
                {
                    email
                },
                password = new
                {
                    digest    = EncodingHelper.Sha256Hash(password),
                    algorithm = EncodingHelper.Sha256
                }
            };

            var loginResult   = AutoFixture.Create <LoginResult>();
            var loginResponse = JObject.FromObject(new
            {
                result = loginResult
            });

            _mockClient.CallAsync(Arg.Any <string>(), CancellationToken, Arg.Any <object[]>())
            .ReturnsForAnyArgs(Task.FromResult(loginResponse));

            IStreamCollection collection = new StreamCollection("users");
            var user = JObject.FromObject(new { username = "" });

            collection.Added(loginResult.UserId, user);
            _mockCollectionDatabase.WaitForObjectInCollectionAsync("users", loginResult.UserId, CancellationToken)
            .Returns(Task.FromResult(collection));

            // Act
            await _driver.LoginWithEmailAsync(email, password);

            // Assert
            await _mockClient.ReceivedWithAnyArgs().CallAsync("login", CancellationToken, payload);
        }