public void LoginUser_VerifyRepository()
        {
            var mockBlogUserRepo = new MockIBlogUserRepository();
            var interactor       = new LoginUserInteractor(mockBlogUserRepo);
            var param_request    = MakeRequest("Poptart");

            mockBlogUserRepo.StubList(new List <BlogUser>());

            interactor.LoginUser(param_request);

            mockBlogUserRepo.VerifyList();
        }
        public void LoginUser_UserNameDoesNotExists_ReturnsExpectedLoginUserResponse()
        {
            var stubBlogUserRepo = new StubIBlogUserRepository();
            var interactor       = new LoginUserInteractor(stubBlogUserRepo);

            stubBlogUserRepo.StubList(new List <BlogUser>());
            var expected      = MakeResponse(null, false);
            var param_request = MakeRequest("Poptart");

            var actual = interactor.LoginUser(param_request);

            Assert.Equal(expected.SystemLoginSuccessful, actual.SystemLoginSuccessful);
        }
예제 #3
0
        public void Execute_EmailAddressNotFound_UserNotLoggedIn()
        {
            var emailQuery = new Mock <FindUserQueryByEmail>();

            emailQuery.Setup(x => x.Execute(_emailAddress)).Returns((User)null);

            var interactor = new LoginUserInteractor(emailQuery.Object);

            var result = interactor.Execute(new LoginRequest {
                EmailAddress = _emailAddress, Password = "******"
            });

            Assert.Equal("User Not Logged In", result.ResponseMessage);
        }
        public void LoginUser_UserNameExists_ReturnsExpectedLoginUserResponse()
        {
            var stubBlogUserRepo = new StubIBlogUserRepository();
            var interactor       = new LoginUserInteractor(stubBlogUserRepo);
            var stub_blogUser    = new BlogUserFactory().Create();
            var stub_list        = new List <BlogUser> {
                stub_blogUser
            };

            stubBlogUserRepo.StubList(stub_list);
            var expected      = MakeResponse(stub_blogUser, true);
            var param_request = MakeRequest(stub_blogUser.UserName);

            var actual = interactor.LoginUser(param_request);

            Assert.Equal(expected.SystemLoginSuccessful, actual.SystemLoginSuccessful);
            Assert.Equal(expected.User, actual.User);
        }
예제 #5
0
        public void Execute_PasswordNotVerified_UserNotLoggedIn()
        {
            BCryptPasswordHash pwh = new BCryptPasswordHash();
            var hashedPassword     = pwh.HashPassword("AReallyStringPassword");

            var emailQuery = new Mock <FindUserQueryByEmail>();

            emailQuery.Setup(x => x.Execute(_emailAddress)).Returns(new User
            {
                EmailAddress = _emailAddress, PasswordHash = hashedPassword
            });

            var interactor = new LoginUserInteractor(emailQuery.Object);

            var result = interactor.Execute(new LoginRequest {
                EmailAddress = _emailAddress, Password = "******"
            });

            Assert.Equal("User Not Logged In", result.ResponseMessage);
        }
예제 #6
0
 public LoginController(IConfiguration configuration, LoginUserInteractor interactor)
 {
     _configuration = configuration;
     _interactor    = interactor;
 }