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); } }
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()); }
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); } }
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()); } } }
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()); } } }