public void AddWishListItem(UserId id, WishListItemId wishlistItemId, RestaurantId restoId, string someNotes) { if (_disabled) { throw new AggregateException("Can not add a to the wish list of a disabled user."); } if (MyWishListIsEmpty() || ThatResturantIsNotInMyWishList(restoId)) { ApplyChange(UserEvents.WishListItemAdded(id, wishlistItemId, restoId, someNotes)); } }
public void AddWishListItemToUser() { var id = new UserId(Guid.NewGuid()); var email = "*****@*****.**"; var metroId = 11; var wishlistItemId = new WishListItemId(Guid.NewGuid()); var restoId = new RestaurantId(Guid.NewGuid()); new CommandScenarioFor <User>(User.Factory) .Given(UserEvents.Created(email, id, metroId, false)) .When(user => user.AddWishListItem(id, wishlistItemId, restoId, "some notes")) .Then(UserEvents.WishListItemAdded(id, wishlistItemId, restoId, "some notes")) .Assert(); }