public ActionResult LoadRestaurants(int managerId) { var action = new LoadRestaurantsAction <ActionResult>(ServiceRegistry) { OnOneRestarauntFound = (id) => RedirectToAction("SetRestaurant", new { restaurantId = id }), OnManyRestaurantsFound = (model) => View("SelectRestaurant", model), NoRestarauntsFound = () => View("Error") }; return(action.Invoke(managerId)); }
public void EnsureGuardAgainstNullOnOneRestarauntFound() { var error = ""; try { var action = new LoadRestaurantsAction <dynamic>(A.Fake <IServiceRegistry>()) { OnManyRestaurantsFound = (m) => new { Value = true }, NoRestarauntsFound = () => new { Value = false } }; action.Invoke(1); } catch (Exception ex) { error = ex.Message; } Assert.IsTrue(error.Contains("OnOneRestarauntFound")); }
public void EnsureOnManyRestaurantsFoundIfManyFound() { var system = A.Fake <IServiceRegistry>(); A.CallTo(() => system.RestaurantService.LoadRestaurantByManager(null)).WithAnyArguments().Returns(new LoadRestaurantResponse { Restaurants = new List <RestaurantDto> { new RestaurantDto(), new RestaurantDto() } }); var action = new LoadRestaurantsAction <dynamic>(system) { OnOneRestarauntFound = (x) => new { Value = false }, OnManyRestaurantsFound = (m) => new { Value = true }, NoRestarauntsFound = () => new { Value = false } }; var result = action.Invoke(1).Value; Assert.IsTrue(result); }