public void Arrange() { _bulkReservation = new BulkReservation { Count = ExpectedReservationCount, TransferSenderId = ExpectedTransferSenderId }; _bulkCreateAccountReservationsResult = new BulkCreateAccountReservationsResult { ReservationIds = new List <Guid> { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() } }; _mediator = new Mock <IMediator>(); _mediator.Setup(x => x.Send(It.Is <BulkCreateAccountReservationsCommand>(c => c.ReservationCount.Equals(ExpectedReservationCount) && c.AccountLegalEntityId.Equals(ExpectedAccountLegalEntityId) && c.TransferSenderAccountId.Equals(ExpectedTransferSenderId)), It.IsAny <CancellationToken>())) .ReturnsAsync(_bulkCreateAccountReservationsResult); _httpContext = new Mock <HttpContext>(); _reservationsController = new ReservationsController(Mock.Of <ILogger <ReservationsController> >(), _mediator.Object) { ControllerContext = { HttpContext = _httpContext.Object, ActionDescriptor = new ControllerActionDescriptor { ControllerName = "reservations" } } }; }
public async Task <IActionResult> BulkCreate([FromRoute] long accountLegalEntityId, [FromBody] BulkReservation bulkReservation) { try { var result = await _mediator.Send(new BulkCreateAccountReservationsCommand { AccountLegalEntityId = accountLegalEntityId, ReservationCount = bulkReservation.Count, TransferSenderAccountId = bulkReservation.TransferSenderId }); return(Created("", result)); } catch (ArgumentException argumentException) { _logger.LogDebug($"Handled ArgumentException, Message:[{argumentException.Message}]"); return(BadRequest(new ArgumentErrorViewModel { Message = argumentException.Message, Params = argumentException.ParamName })); } catch (EntityNotFoundException <Domain.Entities.AccountLegalEntity> e) { _logger.LogDebug($"Handled EntityNotFoundException, Message:[{e.Message}]"); return(NotFound()); } }