예제 #1
0
        public void AuthenticateUser_WhenPasswordIsBlank_ReturnsPasswordIsEmptyErrorMessage()
        {
            AuthenticateModel input = new AuthenticateModel
            {
                UserName = "******",
                Password = "" //encrypted string for 'password'
            };

            Mock <IDailyTimeInDataAccess>  timeIn  = new Mock <IDailyTimeInDataAccess>();
            Mock <IDailyTimeOutDataAccess> timeOut = new Mock <IDailyTimeOutDataAccess>();
            Mock <IUserDataAccess>         mock    = new Mock <IUserDataAccess>();

            mock.Setup(x => x.GetUser(input.UserName)).Returns(new User()
            {
                UserKey      = 1,
                FirstName    = "John",
                LastName     = "Doe",
                IsActive     = true,
                UserName     = "******",
                UserPassword = "******", //encrypted string for password
                CreateDttm   = DateTime.Now,
                CreateUserId = "john.doe",
                UpdateDttm   = DateTime.Now,
                UpdateUserId = "john.doe"
            });

            ILoginBusinessRules app = new LoginBusinessRules(mock.Object, timeIn.Object, timeOut.Object);

            var output = app.VerifyValidUser(input);

            Assert.AreEqual("Password is empty.", output);
        }
예제 #2
0
        public void AuthenticateUser_WhenPasswordNotMatch_ReturnsPasswordNotMatchErrorMessage()
        {
            AuthenticateModel input = new AuthenticateModel
            {
                UserName = "******",
                Password = "******"
            };

            string password = "******";

            Mock <IDailyTimeInDataAccess>  timeIn       = new Mock <IDailyTimeInDataAccess>();
            Mock <IDailyTimeOutDataAccess> timeOut      = new Mock <IDailyTimeOutDataAccess>();
            Mock <ILoginBusinessRules>     mockPassword = new Mock <ILoginBusinessRules>();

            mockPassword.Setup(x => x.EncryptPassword(input.Password)).Returns(password);

            Mock <IUserDataAccess> mock = new Mock <IUserDataAccess>();

            mock.Setup(x => x.GetUser(input.UserName)).Returns(new User()
            {
                UserKey      = 1,
                FirstName    = "John",
                LastName     = "Doe",
                IsActive     = true,
                UserName     = "******",
                UserPassword = "******", //encrypted string for password
                CreateDttm   = DateTime.Now,
                CreateUserId = "john.doe",
                UpdateDttm   = DateTime.Now,
                UpdateUserId = "john.doe"
            });

            ILoginBusinessRules app = new LoginBusinessRules(mock.Object, timeIn.Object, timeOut.Object);

            string encryption = app.EncryptPassword(input.Password);
            var    output     = app.VerifyValidUser(input);

            Assert.AreEqual("Password does not match.", output);
        }