Beispiel #1
0
        public void UpdateUserPassword_WhenPreviousPasswordDoesNotMatchInRecords_ReturnIncorrectPasswordError()
        {
            UpdatePasswordModel input = new UpdatePasswordModel()
            {
                UserName         = "******",
                NewPassword      = "******", //password1
                PreviousPassword = "******"  //password
            };

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

            user.Setup(x => x.GetUser(input.UserName)).Returns(new User()
            {
                UserName     = "******",
                UserPassword = "******"
            });

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

            var output = app.UpdateUserPassword(input);

            Assert.AreEqual("Previous password does not match.", output);
        }
Beispiel #2
0
        public void UpdateUserPassword_WhenInputsAreCorrect_ReturnsQuerySuccessMessage()
        {
            UpdatePasswordModel input = new UpdatePasswordModel()
            {
                UserName         = "******",
                NewPassword      = "******", //password1
                PreviousPassword = "******"   //password
            };

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

            user.Setup(x => x.UpdatePassword(10000, It.IsAny <string>())).Returns("User record updated.");
            user.Setup(x => x.GetUser(input.UserName)).Returns(new User()
            {
                UserKey      = 10000,
                UserName     = "******",
                UserPassword = "******"
            });

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

            var output = app.UpdateUserPassword(input);

            Assert.AreEqual("User record updated.", output);
        }
Beispiel #3
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);
        }
Beispiel #4
0
        public void UpdateUserPassword_WhenInputModelIsBlank_ReturnsNoDataToProcessErrorMessage()
        {
            UpdatePasswordModel input = null;

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

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

            var output = app.UpdateUserPassword(input);

            Assert.AreEqual("No data to process.", output);
        }
Beispiel #5
0
        public void UpdateUserPassword_WhenPreviousPasswordIsBlankOrNull_ReturnsUserNameIsEmptyPassword([Values("", null)] string previousPassword)
        {
            UpdatePasswordModel input = new UpdatePasswordModel()
            {
                UserName         = "******",
                NewPassword      = "******", //password1
                PreviousPassword = previousPassword
            };

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

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

            var output = app.UpdateUserPassword(input);

            Assert.AreEqual("Previous Password is empty.", output);
        }
Beispiel #6
0
        public void VerifyEmployeeClockIn_WhenUserNameIsCorrect_ReturnsSuccessMessage()
        {
            VerifyClockInModel input = new VerifyClockInModel
            {
                UserName = "******"
            };
            DateTime now = DateTime.Now;

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

            timeIn.Setup(x => x.GetEmployeeRecentTimeIn(input.UserName)).Returns(new DailyTimeIn()
            {
                TimeInId     = 1,
                ActivityCd   = 1,
                EmployeeId   = 10001,
                IsActive     = true,
                TimeInDttm   = now,
                CreateUserId = input.UserName,
                CreateDttm   = now,
                UpdateUserId = input.UserName,
                UpdateDttm   = now
            });
            timeOut.Setup(x => x.GetEmployeeDailyTimeOut(input.UserName, now)).Returns(new DailyTimeOut()
            {
                TimeInId     = 1,
                ActivityCd   = 1,
                EmployeeId   = 10001,
                IsActive     = true,
                TimeOutDttm  = now,
                CreateUserId = input.UserName,
                CreateDttm   = now,
                UpdateUserId = input.UserName,
                UpdateDttm   = now
            });

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

            var output = app.VerifyEmployeeClockIn(input);

            Assert.AreEqual("Query success.", output.QueryStatus);
        }
Beispiel #7
0
        public void VerifyEmployeeClockIn_WhenUserNameIsNull_ReturnsUserNameError()
        {
            VerifyClockInModel input = new VerifyClockInModel
            {
                UserName = null
            };

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

            timeIn.Setup(x => x.GetEmployeeRecentTimeIn(input.UserName)).Returns(new DailyTimeIn());

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

            var output = app.VerifyEmployeeClockIn(input);

            Assert.AreEqual("No data being processed.", output.QueryStatus);
        }
Beispiel #8
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);
        }