public async Task Then_An_Event_Is_Fired( DeleteReservationCommand command, [ReservationWithCourse] Reservation reservationToDelete, [Frozen] ValidationResult validationResult, [Frozen] Mock <IAccountReservationService> mockService, [Frozen] Mock <IUnitOfWorkContext> mockContext, DeleteReservationCommandHandler handler) { validationResult.ValidationDictionary.Clear(); mockService .Setup(service => service.GetReservation(command.ReservationId)) .ReturnsAsync(reservationToDelete); await handler.Handle(command, CancellationToken.None); mockContext.Verify(x => x.AddEvent(It.Is <ReservationDeletedEvent>(e => e.Id.Equals(command.ReservationId) && e.AccountId.Equals(reservationToDelete.AccountId) && e.AccountLegalEntityId.Equals(reservationToDelete.AccountLegalEntityId) && e.AccountLegalEntityName.Equals(reservationToDelete.AccountLegalEntityName) && e.ProviderId.Equals(reservationToDelete.ProviderId) && e.CourseId.Equals(reservationToDelete.Course.CourseId) && e.CourseName.Equals(reservationToDelete.Course.Title) && e.CourseLevel.Equals(reservationToDelete.Course.Level) && e.StartDate.Equals(reservationToDelete.StartDate) && e.EndDate.Equals(reservationToDelete.ExpiryDate) && e.CreatedDate.Equals(reservationToDelete.CreatedDate) && e.EmployerDeleted.Equals(command.EmployerDeleted) )), Times.Once); }
public void And_Command_Fails_Validation_Then_Throws_ValidationException( DeleteReservationCommand command, string propertyName, [Frozen] ValidationResult validationResult, DeleteReservationCommandHandler handler) { validationResult.AddError(propertyName); var act = new Func <Task>(async() => await handler.Handle(command, CancellationToken.None)); act.Should().Throw <ArgumentException>() .WithMessage($"The following parameters have failed validation*{propertyName}*"); }
public async Task Then_Calls_Service_To_Delete_Reservation( DeleteReservationCommand command, [Frozen] ValidationResult validationResult, [Frozen] Mock <IAccountReservationService> mockService, DeleteReservationCommandHandler handler) { validationResult.ValidationDictionary.Clear(); await handler.Handle(command, CancellationToken.None); mockService .Verify(service => service.DeleteReservation(command.ReservationId), Times.Once); }