Пример #1
0
        public void CreateUserDBEntityValidationExceptionTest()
        {
            //Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            user2.email = null;
            user2.username = null;
            int expectedUsers = db.users.ToList<user>().Count();
            Session session = new Session(db, target);

            var actual = target.Create(user2) as ViewResult;

            // Assert
            db = new touch_for_foodEntities();
            int actualUsers = db.users.ToList<user>().Count();
            string errorMsg = actual.ViewBag.Error;
            Assert.IsNotNull(errorMsg); //error message is sent to view
            Assert.AreEqual(expectedUsers, actualUsers);
            Assert.AreEqual("Create", actual.ViewName); //Directed to correct location
        }
Пример #2
0
        public void CreateUserDbUpdateExceptionEmailTest()
        {
            //Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            user2.email = user1.email;
            int expectedUsers = db.users.ToList<user>().Count();

            var actual = target.Create(user2) as ViewResult;

            // Assert
            db = new touch_for_foodEntities();
            int actualUsers = db.users.ToList<user>().Count();
            Assert.AreEqual(expectedUsers, actualUsers);
            Assert.AreEqual("Create", actual.ViewName); //Directed to correct location
        }
Пример #3
0
        public void LogOnWithValidUserTest()
        {
            // Arrange
            UserController target = new UserController();
            var mock = new ContextMocks(target);

            // Act
            // We use the password in string format since our TestDatabaseHelper uses the encrypted value
            var actualResult = target.LogOn(user1.username, "*****@*****.**") as RedirectToRouteResult;
            var actualResultURI = actualResult.RouteValues["controller"] + "/" + actualResult.RouteValues["action"];

            // Assertions
            Assert.AreEqual("Home/Index", actualResultURI);
        }
Пример #4
0
        public void LogOnWithInvalidStateModelTest()
        {
            // Arrange
            UserController target = new UserController();
            target.ModelState.AddModelError("error", "ModelState is invalid");

            // Act
            var actual = target.LogOn(user2.username, user2.password) as RedirectToRouteResult;
            var resultURI = actual.RouteValues["action"];

            // Assert
            Assert.AreEqual("LogOn", resultURI);
        }
Пример #5
0
        public void LogOnWithInvalidUserTest()
        {
            // Arrange
            UserController target = new UserController();

            // Act
            var actual = target.LogOn(user2.username, "wrongpassword") as ViewResult;

            // Assert
            Assert.AreEqual("LogOn", actual.ViewName);
        }
Пример #6
0
        public void IndexTest()
        {
            // Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            List<user> expectedUsers = db.users.ToList<user>();

            // Act
            ViewResult actual = (ViewResult)target.Index();

            // Assert
            List<user> actualUsers = actual.Model as List<user>;
            Assert.AreEqual(actualUsers.Count(), expectedUsers.Count());
        }
Пример #7
0
        public void LogOnViewTest()
        {
            // Arrange
            UserController controller = new UserController();

            // Act
            var result = controller.LogOn() as ViewResult;

            // Assert
            Assert.AreEqual("LogOn", result.ViewName);
        }
Пример #8
0
        public void EditViewInvalidUserTest()
        {
            //Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            Session session = new Session(db, target);
            session.simulateLogin(user1.username, user1.password);

            //Act
            var actualResult = target.Edit(user3.id) as RedirectToRouteResult;
            var actualResultURI = actualResult.RouteValues["controller"] + "/" + actualResult.RouteValues["action"];

            //Assertions
            Assert.AreEqual("Home/Index", actualResultURI);
        }
Пример #9
0
        public void EditViewTest()
        {
            //Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            Session session = new Session(db, target);
            session.simulateLogin(user1.username, user1.password);
            int expected = user1.id;

            //Act
            ViewResult actual = (ViewResult)target.Edit(user1.id);

            //Assert
            Assert.AreEqual(((user)actual.Model).id, expected);
        }
Пример #10
0
        public void EditUserLockTest()
        {
            //Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            string changeString = "*****@*****.**";
            user1.first_name = changeString;
            user1.version -= 1;

            //Check setup
            Assert.IsFalse(db.users.Find(user1.id).first_name.Equals(changeString, StringComparison.OrdinalIgnoreCase));

            //Act
            var actual = target.Edit(user1, null) as ViewResult;

            //Assertions
            db = new touch_for_foodEntities();
            string errorMsg = actual.ViewBag.Error;
            Assert.IsFalse(db.users.Find(user1.id).first_name.Equals(changeString, StringComparison.OrdinalIgnoreCase));
            Assert.IsNotNull(errorMsg); //error message is sent to view
        }
Пример #11
0
        public void EditUserTest()
        {
            //Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            string changeString = "*****@*****.**";
            user1.first_name = changeString;

            //CheckSetup
            Assert.IsFalse(db.users.Find(user1.id).first_name.Equals(changeString, StringComparison.OrdinalIgnoreCase));

            // The edit needs the password to be un-hashed, so we're force it to be un-hashed
            user1.password = "******";
            user1.ConfirmPassword = "******";

            //Act
            var actual = target.Edit(user1, null) as RedirectToRouteResult;

            //Assertions
            db = new touch_for_foodEntities();
            Assert.IsTrue(db.users.Find(user1.id).first_name.Equals(changeString, StringComparison.OrdinalIgnoreCase));
            Assert.AreEqual("Index", actual.RouteValues["action"]);
        }
Пример #12
0
        public void DetailsTest()
        {
            //Arrange
            UserController target = new UserController();
            int expected = user1.id;

            //Act
            ViewResult actual = (ViewResult)target.Details(user1.id);

            //Assert
            Assert.AreEqual(expected, ((user)actual.ViewData.Model).id);
        }
Пример #13
0
        public void DeleteConfirmedTest()
        {
            //Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            int expectedNumberOfUsers = db.users.ToList<user>().Count()-1;

            //Act
            var actual = target.DeleteConfirmed(user1.id) as RedirectToRouteResult;
            var actualResultURI = actual.RouteValues["action"];

            //Assert
            db = new touch_for_foodEntities();
            int actualNumberOfUsers = db.users.ToList<user>().Count();
            Assert.AreEqual(expectedNumberOfUsers, actualNumberOfUsers);
            Assert.AreEqual("Index", actualResultURI);
            Assert.IsNull(db.users.Find(user1.id));
            Assert.IsNull(db.friendships.Find(friendship1.id));
            Assert.IsNull(db.restaurant_user.Find(restaurantUser1.id));
            Assert.IsNull(db.orders.Find(order1.id));
        }
Пример #14
0
        public void CreateViewTest()
        {
            // Arrange
            UserController target = new UserController();

            // Act
            ViewResult actual = (ViewResult)target.Create();

            // Assert
            Assert.AreEqual("Create a new user profile", actual.ViewBag.Message);
        }
Пример #15
0
        public void CreateUserWithInvalidStateModelTest()
        {
            // Arrange
            UserController target = new UserController();
            target.ModelState.AddModelError("error", "ModelState is invalid");

            // Act
            var actual = target.Create(user2) as ViewResult;

            // Assert
            string errorMsg = actual.ViewBag.Error;
            Assert.AreEqual("Create", actual.ViewName);
            Assert.IsNotNull(errorMsg); //error message is sent to view
        }
Пример #16
0
        public void CreateUserTest()
        {
            // Arrange
            db = new touch_for_foodEntities();
            UserController target = new UserController();
            var mock = new ContextMocks(target);
            int expectedUsers = db.users.ToList<user>().Count();

            // Act
            var actualResult = target.Create(user2) as RedirectToRouteResult;
            var actualResultURI = actualResult.RouteValues["controller"] + "/" + actualResult.RouteValues["action"];

            // Assertions
            db = new touch_for_foodEntities();
            int actualUsers = db.users.ToList<user>().Count();
            Assert.AreEqual((expectedUsers + 1), actualUsers);
            Assert.IsNotNull(actualResult, "Result obtained from actual result is null");
            Assert.AreEqual("Home/Index", actualResultURI);
        }