public void UpdateUserAsyncChangesTheUser()
        {
            using (var context = new UserDBContext(options))
            {
                //Arrange
                IUserRepoDB _repo = new UserRepoDB(context);

                //Act
                _repo.UpdateUserAsync(
                    new User
                {
                    Id       = 1,
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Associate"
                }
                    );
            }

            using (var assertContext = new UserDBContext(options))
            {
                //Assert
                var result = assertContext.User.FirstOrDefault(c => c.UserName.Equals("newName"));

                Assert.NotNull(result);
                Assert.Equal(1, result.Id);
            }
        }
        public void AddUserAsyncAddsTheUser()
        {
            using (var context = new UserDBContext(options))
            {
                //Arrange
                IUserRepoDB _repo = new UserRepoDB(context);

                //Act
                _repo.AddUserAsync(
                    new User
                {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Associate"
                }
                    );
            }

            using (var assertContext = new UserDBContext(options))
            {
                //Assert
                var result = assertContext.User.Select(c => c).ToList();

                Assert.NotNull(result);
                Assert.Equal(4, result.Count);
            }
        }
        public void GetUserByEmailAsyncReturnsCorrectUser()
        {
            using (var context = new UserDBContext(options))
            {
                //Arrange
                IUserRepoDB _repo = new UserRepoDB(context);

                //Act
                var result = _repo.GetUserByEmail("*****@*****.**");

                //Assert
                Assert.NotNull(result);
                Assert.Equal(1, result.Result.Id);
            }
        }
        public void GetUsersAsyncReturnsAllUsers()
        {
            using (var context = new UserDBContext(options))
            {
                //Arrange
                IUserRepoDB _repo = new UserRepoDB(context);

                //Act
                var result = _repo.GetUsersAsync();

                //Assert
                Assert.NotNull(result);
                Assert.Equal(3, result.Result.Count);
            }
        }