public async Task ThenCallsReservationServiceToCreateReservation( CreateReservationLevyEmployerCommand request, Guid id, [Frozen] Mock <IValidator <CreateReservationLevyEmployerCommand> > validator, [Frozen] Mock <IReservationService> service, CreateReservationLevyEmployerCommandHandler handler) { //Arrange request.TransferSenderId = null; validator.Setup(x => x.ValidateAsync(request)) .ReturnsAsync(new ValidationResult { ValidationDictionary = new Dictionary <string, string>(), FailedAutoReservationCheck = false, FailedTransferReceiverCheck = false }); service.Setup(x => x.CreateReservationLevyEmployer(It.IsAny <Guid>(), request.AccountId, request.AccountLegalEntityId, request.TransferSenderId, request.UserId)) .ReturnsAsync(new CreateReservationResponse { Id = id }); //Act var result = await handler.Handle(request, CancellationToken.None); //Assert service.Verify(x => x.CreateReservationLevyEmployer(It.IsAny <Guid>(), request.AccountId, request.AccountLegalEntityId, request.TransferSenderId, request.UserId)); Assert.AreEqual(id, result.ReservationId); }
public async Task Then_If_The_Account_Is_Not_A_Levy_Account_Then_A_Reservation_Is_Not_Created_And_Null_Returned( CreateReservationLevyEmployerCommand request, Guid id, [Frozen] Mock <IValidator <CreateReservationLevyEmployerCommand> > validator, [Frozen] Mock <IReservationService> service, CreateReservationLevyEmployerCommandHandler handler ) { //Arrange request.TransferSenderId = null; validator.Setup(x => x.ValidateAsync(request)) .ReturnsAsync(new ValidationResult { ValidationDictionary = new Dictionary <string, string>(), FailedAutoReservationCheck = true }); service.Setup(x => x.CreateReservationLevyEmployer(It.IsAny <Guid>(), request.AccountId, request.AccountLegalEntityId, request.TransferSenderId, request.UserId)) .ReturnsAsync(new CreateReservationResponse { Id = id }); //Act var result = await handler.Handle(request, CancellationToken.None); //Assert service.Verify(x => x.CreateReservationLevyEmployer(It.IsAny <Guid>(), It.IsAny <long>(), It.IsAny <long>(), It.IsAny <long?>(), It.IsAny <Guid?>()), Times.Never); Assert.IsNull(result); }
public void Then_Throws_A_TransferSender_Not_Allowed_Exception_If_Has_Failed_Validation_For_TransferSender( CreateReservationLevyEmployerCommand request, [Frozen] Mock <IValidator <CreateReservationLevyEmployerCommand> > validator, CreateReservationLevyEmployerCommandHandler handler ) { //Arrange validator.Setup(x => x.ValidateAsync(It.IsAny <CreateReservationLevyEmployerCommand>())) .ReturnsAsync(new ValidationResult { ValidationDictionary = new Dictionary <string, string>( ), FailedTransferReceiverCheck = true }); //Act Assert.ThrowsAsync <TransferSenderNotAllowedException>(() => handler.Handle(request, CancellationToken.None)); //Assert validator.Verify(x => x.ValidateAsync(request), Times.Once()); }
public void ThenTheCommandGetsValidatedAndThrowsAnExceptionIfNotValid( CreateReservationLevyEmployerCommand request, [Frozen] Mock <IValidator <CreateReservationLevyEmployerCommand> > validator, CreateReservationLevyEmployerCommandHandler handler) { //Arrange validator.Setup(x => x.ValidateAsync(It.IsAny <CreateReservationLevyEmployerCommand>())) .ReturnsAsync(new ValidationResult { ValidationDictionary = new Dictionary <string, string> { { "", "" } } }); //Act Assert.ThrowsAsync <ValidationException>(() => handler.Handle(request, CancellationToken.None)); //Assert validator.Verify(x => x.ValidateAsync(request), Times.Once()); }