public void GivenACreateAction_WhenTheModelStateIsValid_ThenItRedirectsToVacationPropertiesIndex()
{
var model = new ReservationViewModel();
var stubVacationPropertiesRepository = Mock.Of<IVacationPropertiesRepository>();
var mockReservationsRepository = new Mock<IReservationsRepository>();
var stubUsersRepository = Mock.Of<IUsersRepository>();
var mockNotifier = new Mock<INotifier>();
var controller = new ReservationsController(
stubVacationPropertiesRepository, mockReservationsRepository.Object, stubUsersRepository,
mockNotifier.Object);
controller.WithCallTo(c => c.Create(model))
.ShouldRedirectTo<VacationPropertiesController>(c => c.Index());
mockReservationsRepository.Verify(r => r.CreateAsync(It.IsAny<Reservation>()), Times.Once);
mockNotifier.Verify(n => n.SendNotificationAsync(It.IsAny<Reservation>()), Times.Once());
}