public void POST_Create_ShouldNotAddNewBeerIfModelIsNotValid()
        {
            // Arrange
            var persistenceContext = new FakePersistenceContext();
            var controller = InitializeController(persistenceContext);
            var model = new CreateBeerViewModel();

            controller.ModelState.AddModelError("", "");

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

            // Assert
            result.ShouldNotBeNull();
            persistenceContext.Saved.ShouldBeFalse();
        }
        public void Post_Create_ShouldRedirectToIndex()
        {
            // Arrange
            var controller = InitializeController();
            var model = new CreateBeerViewModel();

            // Act
            var result = controller.Create(model) as RedirectToRouteResult;

            // Assert
            result.RouteValues["action"].ShouldEqual("Index");
        }
        public void POST_Create_ShouldAddNewBeer()
        {
            // Arrange
            var persistenceContext = new FakePersistenceContext();
            var controller = InitializeController(persistenceContext);
            var model = new CreateBeerViewModel();

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

            // Assert
            persistenceContext.Saved.ShouldBeTrue();
            persistenceContext.Added.Count.ShouldEqual(1);
        }