public ActionResult AddMenuItem(string placeId, MenuItem menuItem)
 {
     var place = _allPlaces.FindById(placeId);
     place.Menu.Items.Add(menuItem);
     _allPlaces.Save(place);
     return RedirectToAction("place", "places", new {id = placeId});
 }
        public void ShouldAcceptAddingNewItemToAExistingPlace()
        {
            var menuItem = new MenuItem();
            var place = new Place {Id = ObjectId.GenerateNewId()};
            var placeId = place.Id.Value.ToString();

            _allPlaces.Setup(it => it.FindById(placeId)).Returns(place);

            var result = _controller.AddMenuItem(placeId, menuItem) as RedirectToRouteResult;

            _allPlaces.Verify(it => it.Save(place));

            Assert.That(place.Menu.Items, Contains.Item(menuItem));

            Assert.That(result.RouteValues["controller"], Is.EqualTo("places"));
            Assert.That(result.RouteValues["action"], Is.EqualTo("place"));
            Assert.That(result.RouteValues["id"], Is.EqualTo(place.Id.Value.ToString()));
        }