public void WhenReservationRerquestAcceptedThenEmitsReservationAccepted() { // Given Mock <IEventDispatcher> eventDispatcherMock = new Mock <IEventDispatcher>(); Mock <ITableAvailabilityService> tableAvailabilityService = new Mock <ITableAvailabilityService>(); Mock <IRestaurantConfigurationService> restaurantConfigurationMock = new Mock <IRestaurantConfigurationService>(); tableAvailabilityService.Setup( x => x.CheckAvailability(It.IsAny <List <int> >(), It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(true); var reservationRequest = new ReservationRequest(eventDispatcherMock.Object, tableAvailabilityService.Object, restaurantConfigurationMock.Object); var acceptReservationRequest = new AcceptReservationRequest(); // When reservationRequest.ReservationRequestAcceptedHandler(acceptReservationRequest); // Then eventDispatcherMock.Verify(x => x.DispatchReservationRequestAcceptedEvent(It.IsAny <ReservationRequestAccepted>()), Times.Once); }
public void WhenReservationRerquestAcceptedAndTableAvailableThenAcceptedIsTrue() { //Given Mock <IEventDispatcher> eventDispatcherMock = new Mock <IEventDispatcher>(); Mock <ITableAvailabilityService> tableAvailabilityService = new Mock <ITableAvailabilityService>(); Mock <IRestaurantConfigurationService> restaurantConfigurationMock = new Mock <IRestaurantConfigurationService>(); tableAvailabilityService.Setup( x => x.CheckAvailability(It.IsAny <List <int> >(), It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(true); var reservationRequest = new ReservationRequest(eventDispatcherMock.Object, tableAvailabilityService.Object, restaurantConfigurationMock.Object); var acceptReservationRequest = new AcceptReservationRequest(); //When reservationRequest.ReservationRequestAcceptedHandler(acceptReservationRequest); //Then Assert.IsTrue(reservationRequest.Accepted); }