public void TestUserDuplicate() { user u = new user() { username = "******", password = "******" }; ViewResult result = myAccountCon.Register(u) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("", result.ViewName); Assert.AreEqual(myAccountCon.ModelState.IsValid, false); Assert.AreEqual(true, myAccountCon.ModelState.ContainsKey("username")); }
public void TestMyProfileEditException() { user u = new user() { id = 3 }; db.Setup(c => c.SaveChanges()).Throws(new Exception()); ViewResult result = myProfileCon.Edit(u) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("DetailedError", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(500, model.StatusCode); Assert.AreEqual("Failed to edit user.", model.StatusDescription); }
public ActionResult Edit(user user) { if (user == null || user.id != userAccess.getUserId(User.Identity.Name)) { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Could not get user.")); } if (ModelState.IsValid) { try { string hashedPassword = Hasher.HashPassword(user.username, user.password); user.password = hashedPassword; var u = db.users.Find(user.id); var entry = db.Entry(u); var state = entry.State; if (state == EntityState.Detached) { db.Entry(user).State = EntityState.Modified; } else { entry.OriginalValues["timestamp"] = user.timestamp; entry.CurrentValues.SetValues(user); } db.SaveChanges(); if (Session.Contents != null && Session.SessionID != null) FormsAuthentication.SetAuthCookie(user.username, false); return RedirectToAction("Index", "MyProfile"); } catch (DbUpdateConcurrencyException ex) { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Failed to edit user as another user/admin may have already update this user")); } catch (DbUpdateException ex) { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Failed to edit user.")); } catch (Exception ex) { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Failed to edit user.")); } } else { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid changes.")); } }
public void TestMyProfileEditConcurrencyException() { user u = new user() { id = 3, username = "******", password = "******" }; db.Setup(c => c.SaveChanges()).Throws(new DbUpdateConcurrencyException()); ViewResult result = myProfileCon.Edit(u) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("DetailedError", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(500, model.StatusCode); Assert.AreEqual("Failed to edit user as another user/admin may have already update this user", model.StatusDescription); }
public void TestMyProfileEditWithNoUserId() { user u = new user(); ViewResult result = myProfileCon.Edit(u) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("DetailedError", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(400, model.StatusCode); Assert.AreEqual("Could not get user.", model.StatusDescription); }
public ActionResult Register(user user) { Login login = new Login(); login.Username = user.username; login.Password = user.password; string hashedPassword = Hasher.HashPassword(user.username, user.password); user.password = hashedPassword; user.is_admin = 0; //checks if username already exists in db var isDuplicate = db.users.Where(u => u.username == user.username).FirstOrDefault(); if (isDuplicate != null) { ModelState.AddModelError("username", "This username already exists. Please choose another one."); return View(); } if (ModelState.IsValid) { try { db.users.Add(user); db.SaveChanges(); return Login(login); } catch (Exception ex) { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "An error occured while trying to register new account")); } } else { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "An error occured while trying to register new account")); } }
/// <summary> /// Gets the fake users /// </summary> /// <returns>A queryable list of fake users</returns> private List<user> getSeedUsers() { user user1 = new user { id = 1, username = "******", password = "******" }; user user2 = new user { id = 2, username = "******" }; user user3 = new user { id = 3, username = "******" }; user user4 = new user { id = 4, username = "******" }; var users = new List<user> { user1, user2, user3, user4 }; return users; }