示例#1
0
        public void Controller_Avatar_Update_Get_Should_Return_New_Model()
        {
            // Arrange (from create)
            AvatarItemController controller = new AvatarItemController();

            var context = CreateMoqSetupForCookie();

            controller.ControllerContext = new ControllerContext(context, new RouteData(), controller);

            var data = new AvatarItemModel
            {
                Description = "description",
                Id          = "abc",
                Name        = "Name",
                Uri         = "picture"
            };
            // create test avatar
            var result = (RedirectToRouteResult)controller.Create(data);

            // Check that the item is created (from create)
            var resultAvatar = AvatarItemBackend.Instance.Read("abc");

            Assert.AreEqual(data.Id, resultAvatar.Id, TestContext.TestName);

            // Act
            var updateResult = controller.Update(data.Id) as ViewResult;

            resultAvatar = updateResult.Model as AvatarItemModel;

            // Assert
            Assert.AreNotEqual(null, resultAvatar.Id, TestContext.TestName);

            // Reset the Avatars
            AvatarItemBackend.Instance.Reset();
        }
示例#2
0
        public void Controller_Avatar_Update_Post_InValid_Should_Return_Error_Page()
        {
            /// <summary>
            /// This Test calls the Update, but passes null data
            /// The controller will return a redirect to the error home page
            /// So the test needs to cast the return to a redirect, and then check that it got to the home error page
            /// </summary>

            // Arrange
            AvatarItemController controller = new AvatarItemController();

            var context = CreateMoqSetupForCookie();

            controller.ControllerContext = new ControllerContext(context, new RouteData(), controller);

            // Act
            var result = (RedirectToRouteResult)controller.Update((AvatarItemModel)null);

            // Assert
            Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName);
        }
示例#3
0
        public void Controller_Avatar_Update_Post_InValid_Model_Should_Return_Error()
        {
            // Arrange
            var controller = new AvatarItemController();

            var data = new AvatarItemModel
            {
                Description = "description"
            };

            // Make a model error then try to send it as a Avatar
            controller.ModelState.AddModelError("test", "test");

            var context = CreateMoqSetupForCookie();

            controller.ControllerContext = new ControllerContext(context, new RouteData(), controller);

            // Act
            ViewResult result = controller.Update(data) as ViewResult;

            // Assert
            Assert.AreEqual(controller.ModelState.IsValid, false, TestContext.TestName);
        }
示例#4
0
        public void Controller_Avatar_Update_Post_Valid_Data_Should_Pass()
        {
            // Arrange
            var controller = new AvatarItemController();
            var data       = new AvatarItemModel();

            // Add to the backend
            AvatarItemBackend.Instance.Create(data);

            data.Description = "Updated Description";

            var context = CreateMoqSetupForCookie();

            controller.ControllerContext = new ControllerContext(context, new RouteData(), controller);

            // Act
            ViewResult result     = controller.Update(data) as ViewResult;
            var        dataResult = AvatarItemBackend.Instance.Read(data.Id);

            AvatarItemBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(data.Description, dataResult.Description, TestContext.TestName);
        }
示例#5
0
        public void Controller_Avatar_Update_Post_Invalid_Null_Id_Should_Return_Model()
        {
            // Arrange
            AvatarItemController controller = new AvatarItemController();
            var data = new AvatarItemModel
            {
                Description = "description",
                Id          = null,
                Name        = "Name",
                Uri         = "picture"
            };

            var context = CreateMoqSetupForCookie();

            controller.ControllerContext = new ControllerContext(context, new RouteData(), controller);

            // Act
            ViewResult result = controller.Update(data) as ViewResult;

            var resultAvatar = result.Model as AvatarItemModel;

            // Assert
            Assert.AreEqual(data.Description, resultAvatar.Description, TestContext.TestName);
        }