public async Task UpdatePost_InvalidModelStateReturnCorrectView_ReturnsUpdateView()
        {
            //TODO Find way to pass file to

            var session = new SessionHelperFake();
            var user    = new User
            {
                ID               = 1,
                UserName         = "******",
                Email            = "*****@*****.**",
                Bio              = "Hello I am the Sixth test user",
                ProfileImagePath = "../Images/TestUserSix/Profile.png",
                DateJoined       = new DateTime(2017, 1, 14),
                DOB              = new DateTime(1955, 5, 7),
                GenderId         = 1,
                UserType         = new UserType {
                    ID = 2, Description = "FeaturedUser"
                },
                Nationality = new Nationality {
                    ID = 1, Description = "US and A"
                },
                NationalityID = 1,
                UserTypeID    = 2,
            };

            session.Add("CurrentUser", user);

            using (var controller = new AccountController(new UserManagerFake(),
                                                          new NationalityManagerFake(),
                                                          new GenderManagerFake(),
                                                          session))
            {
                controller.ModelState.AddModelError("SessionName", "Required");
                var viewModel = new UpdateUserViewModel
                {
                    CurrentUser = new User()
                };

                HttpPostedFileBase file = new HttpTestFileStub();

                var result = await controller.Update(viewModel, file) as ViewResult;

                var expectedViewName = "Update";

                Assert.AreEqual(expectedViewName, result.ViewName);
            }
        }
        public async Task UpdatePost_SuccessfullUpdateReturnsCorrectMessage_ActualMessageEqualsExpected()
        {
            var session = new SessionHelperFake();
            var user    = new User
            {
                ID               = 1,
                UserName         = "******",
                Email            = "*****@*****.**",
                Bio              = "Hello I am the Sixth test user",
                ProfileImagePath = "../Images/TestUserSix/Profile.png",
                DateJoined       = new DateTime(2017, 1, 14),
                DOB              = new DateTime(1955, 5, 7),
                GenderId         = 1,
                UserType         = new UserType {
                    ID = 2, Description = "FeaturedUser"
                },
                Nationality = new Nationality {
                    ID = 1, Description = "US and A"
                },
                NationalityID = 1,
                UserTypeID    = 2,
            };

            session.Add("CurrentUser", user);

            using (var controller = new AccountController(new UserManagerFake(),
                                                          new NationalityManagerFake(),
                                                          new GenderManagerFake(),
                                                          session))
            {
                var viewModel = new UpdateUserViewModel
                {
                    CurrentUser = new User()
                };

                HttpPostedFileBase file = new HttpTestFileStub();

                var result = await controller.Update(viewModel, file) as ViewResult;

                var expectedMessage = "Account Successfully updated.";

                Assert.AreEqual(expectedMessage, result.ViewBag.UpdateMessage);
            }
        }