public void UserTest_Return_GetAll_View()
        {
            var mock        = new Mock <IAccountMongoService>();
            var userService = new AccountMongoController(mock.Object);

            var test = userService.GetAllUser();

            Assert.IsType <List <User> >(test);
        }
        public async void UserTest_IsNotFound()
        {
            //arrange
            var mock = new Mock <IAccountMongoService>();
            var user = new AccountMongoController(mock.Object);
            //act
            var result = await user.GetUser();

            //assert
            Assert.IsNotType <BadRequestResult>(result);
        }
        public async Task Can_Register_User()
        {
            //arrange
            var mock        = new Mock <IAccountMongoService>();
            var userService = new AccountMongoController(mock.Object);
            var user        = new RegisterModel {
                Email = "*****@*****.**", Password = "******", ConfirmPassword = "******"
            };
            //act
            await userService.Register(user);

            //assert
            mock.Verify(c => c.RegisterUser(It.Is <RegisterModel>(s => s.Email == "*****@*****.**")), Times.Once());
            Assert.Equal("*****@*****.**", user.Email);
        }
        public async Task Can_User_Login()
        {
            //arrange
            var mock        = new Mock <IAccountMongoService>();
            var userService = new AccountMongoController(mock.Object);
            var user        = new LoginModel {
                Email = "*****@*****.**", Password = "******"
            };
            //act
            await userService.Login(user);

            //assert
            mock.Verify(c => c.Login(It.Is <LoginModel>(s => s.Email == "*****@*****.**")), Times.Once());
            Assert.Equal("*****@*****.**", user.Email);
        }
        public async void UserTest_View()
        {
            //arrange
            var mock  = new Mock <IAccountMongoService>();
            var users = new List <User> {
                new User {
                    Email = "*****@*****.**", Name = "example"
                }
            };
            var userService = new AccountMongoController(mock.Object);
            //act
            var result = await userService.GetUser();

            //assert
            mock.Verify(c => c.GetAllUser());
            Assert.NotEmpty(users);
        }