Ejemplo n.º 1
0
        public void ValidateRegisterAccountModel_InvalidPassword()
        {
            //Arrange
            using (ppcrental3119Entities db = new ppcrental3119Entities())
            {
                var          controller = new UserController();
                Random       random     = new Random();
                string       address    = string.Format("qa{0:0000}@test.com", random.Next(10000));
                string       password   = "******";
                USERMetadata user       = new USERMetadata
                {
                    Email             = address,
                    Password          = password,
                    ConfirmPassword   = password,
                    FullName          = "Nguyen Van A",
                    Phone             = "0903771612",
                    Address           = "Tp. HCM",
                    SecretQuestion_ID = 1,
                    Answer            = "AbcXyz",
                };
                var validationResults = TestModelHelper.ValidateModel(controller, user);

                //Act
                //var redirectRoute = controller.Register(user) as RedirectToRouteResult;

                ////Assert
                var result = controller.Register(user) as ViewResult;
                Assert.AreEqual(1, validationResults.Count);
                Assert.AreEqual("Minimum four characters and maximun twenty characters, at least one uppercase letter, one lowercase letter and one number.", validationResults[0].ErrorMessage);
            }
        }
Ejemplo n.º 2
0
        public ActionResult login(USERMetadata userLogin)
        {
            using (vlutrading3545Entities db = new vlutrading3545Entities())
            {
                if (db.users.Any(x => x.username == userLogin.username))
                {
                    var user = db.users.FirstOrDefault(x => x.username == userLogin.username);
                    if (user.password == hashPwd(userLogin.password))
                    {
                        Session["userLogged"] = user;
                        updateLastLoginTimeAndIp();
                        ViewBag.SuccessMessage = "Successful Logged";
                        ViewBag.LoggedStatus   = true;
                    }
                    else
                    {
                        ViewBag.DuplicateMessage = "Login failed!";
                    }
                }
                else
                {
                    ViewBag.DuplicateMessage = "Login failed!";
                }
            }
            if (Session["userLogged"] != null)
            {
            }

            return(View());
        }
Ejemplo n.º 3
0
        public void ValidateRegisterAccountModel_WithValidModel()
        {
            //Arrange
            using (ppcrental3119Entities db = new ppcrental3119Entities())
            {
                var          controller = new UserController();
                Random       random     = new Random();
                string       address    = string.Format("qa{0:0000}@test.com", random.Next(10000));
                string       password   = "******";
                USERMetadata user       = new USERMetadata {
                    Email             = address,
                    Password          = password,
                    ConfirmPassword   = password,
                    FullName          = "Nguyen Van A",
                    Phone             = "0903771612",
                    Address           = "Tp. HCM",
                    SecretQuestion_ID = 1,
                    Answer            = "AbcXyz",
                };
                var validationResults = TestModelHelper.ValidateModel(controller, user);

                //Act
                //var redirectRoute = controller.Register(user) as RedirectToRouteResult;

                ////Assert
                //Assert.IsNotNull(redirectRoute);
                //Assert.AreEqual("Index", redirectRoute.RouteValues["action"]);
                //Assert.AreEqual("Catalog", redirectRoute.RouteValues["controller"]);
                var result = controller.Register(user) as ViewResult;
                Assert.AreEqual(0, validationResults.Count);
                Assert.AreEqual("Successful Register", result.ViewBag.SuccessMessage);
            }
        }
Ejemplo n.º 4
0
        public ActionResult Register(USERMetadata newUser)
        {
            using (ppcrental3119Entities db = new ppcrental3119Entities())
            {
                var ques = db.security_questions.ToList();
                List <SelectListItem> item = new List <SelectListItem>();
                foreach (var i in ques)
                {
                    item.Add(new SelectListItem
                    {
                        Text  = i.question,
                        Value = i.id.ToString()
                    });
                }

                ViewBag.question = item;

                if (ModelState.IsValid)
                {
                    if (db.USERs.Any(x => x.Email == newUser.Email))
                    {
                        ModelState.AddModelError("Email", "Email already exist");
                        return(View(newUser));
                    }
                    else
                    {
                        int  nextID = db.USERs.Max(x => x.ID) + 1;
                        USER usr    = new USER
                        {
                            ID                = nextID,
                            Email             = newUser.Email,
                            Password          = hashPwd(newUser.Password),
                            FullName          = newUser.FullName,
                            Phone             = newUser.Phone,
                            Address           = newUser.Address,
                            RoleID            = 0,
                            Status            = false,
                            SecretQuestion_ID = newUser.SecretQuestion_ID,
                            Answer            = newUser.Answer
                        };
                        try
                        {
                            db.USERs.Add(usr);
                            db.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            ViewBag.DuplicateMessage = "Error occurred while register. Contact Admin for details";
                            return(View());

                            throw;
                        }
                        ViewBag.SuccessMessage = "Successful Register";
                        ModelState.Clear();
                        return(View());
                    }
                }
                else
                {
                    return(View());
                }
            }
        }
Ejemplo n.º 5
0
        public ActionResult register(USERMetadata newUser)
        {
            using (vlutrading3545Entities db = new vlutrading3545Entities())
            {
                var ques = db.security_question.ToList();
                List <SelectListItem> item = new List <SelectListItem>();
                foreach (var i in ques)
                {
                    item.Add(new SelectListItem
                    {
                        Text  = i.question,
                        Value = i.id.ToString()
                    });
                }

                ViewBag.question = item;

                if (ModelState.IsValid)
                {
                    if (db.users.Any(x => x.email == newUser.email))
                    {
                        ModelState.AddModelError("Email", "Email already exist");
                        return(View(newUser));
                    }
                    else if (db.users.Any(x => x.username == newUser.username))
                    {
                        ModelState.AddModelError("Username", "Username already exist");
                        return(View(newUser));
                    }
                    else
                    {
                        string ip_login = "";
                        if (Request.UserHostAddress != null)
                        {
                            ip_login = Request.UserHostAddress;
                        }
                        user usr = new user
                        {
                            username                 = newUser.username,
                            password                 = hashPwd(newUser.password),
                            email                    = newUser.email,
                            name                     = newUser.name,
                            role                     = 1,
                            id_security_question     = newUser.id_security_question,
                            answer_security_question = newUser.answer_security_question,
                            is_active                = 1,
                            ip_last_login            = ip_login,
                            last_login_date          = DateTime.Now,
                            create_by                = newUser.username,
                            create_date              = DateTime.Now,
                            update_by                = newUser.username,
                            update_date              = DateTime.Now
                        };
                        try
                        {
                            db.users.Add(usr);
                            db.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            ViewBag.DuplicateMessage = "Error occurred while register. Contact Admin for details";
                            return(View());

                            throw;
                        }
                        ViewBag.SuccessMessage = "Successful Register";
                        ModelState.Clear();
                        return(View());
                    }
                }
                else
                {
                    return(View());
                }
            }
        }