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())); }