Exemplo n.º 1
0
        public async Task Email_ClientDoesUserExistTest()
        {
            var testEmail       = new RegisterRequest("email");
            var notExistedEmail = new RegisterRequest("asdfa");

            var accountRepository     = container.Resolve <IAccountRepository>();
            var accountRepositoryMock = Mock.Get(accountRepository);

            accountRepositoryMock
            .Setup(x => x.FindByLogin(It.IsAny <string>()))
            .Returns <string>(x => x == testEmail.Email
                    ? Task.FromResult(new Account {
                Login = x
            })
                    : Task.FromResult((Account)null));

            using (var http = new HttpClient())
            {
                var client = new Domain0Client(TEST_URL, http);

                var isExists = await client.DoesUserExistByEmailAsync(testEmail);

                Assert.True(isExists);
                accountRepositoryMock.Verify(ar =>
                                             ar.FindByLogin(It.Is <string>(p => p == testEmail.Email)),
                                             Times.Once);

                var isNotExists = await client.DoesUserExistByEmailAsync(notExistedEmail);

                Assert.False(isNotExists);
                accountRepositoryMock.Verify(ar =>
                                             ar.FindByLogin(It.Is <string>(p => p == notExistedEmail.Email)),
                                             Times.Once);
            }
        }