public void WhenTryingToCallOffReservationAfterBlockDate_ThenSendsCallOffDeniedEvent() { // Given Mock <IEventDispatcher> eventDispatcherMock = new Mock <IEventDispatcher>(); Mock <ITableAvailabilityService> tableAvailabilityService = new Mock <ITableAvailabilityService>(); Mock <IRestaurantConfigurationService> restaurantConfigurationMock = new Mock <IRestaurantConfigurationService>(); var reservationRequest = new ReservationRequest(eventDispatcherMock.Object, tableAvailabilityService.Object, restaurantConfigurationMock.Object); reservationRequest.StartDate = DateTime.UtcNow; var callOffReservationRequest = new CallOffReservationRequest { RequestDate = DateTime.UtcNow }; restaurantConfigurationMock.Setup(x => x.CallOffPossibleInDays()).Returns(1); // When reservationRequest.ReservationCalledOffHandler(callOffReservationRequest); // Then eventDispatcherMock.Verify(x => x.DispatchCallOffDeniedEvent(It.IsAny <CallOffDeniedEvent>()), Times.Once); }