public async Task <IActionResult> CreateShortlistForUser(CreateShortListRequest shortlistRequest) { try { var result = await _mediator.Send(new CreateShortlistForUserCommand { Lat = shortlistRequest.Lat, Lon = shortlistRequest.Lon, Ukprn = shortlistRequest.Ukprn, LocationDescription = shortlistRequest.LocationDescription, StandardId = shortlistRequest.StandardId, ShortlistUserId = shortlistRequest.ShortlistUserId }); return(Created("", result)); } catch (HttpRequestContentException e) { return(StatusCode((int)e.StatusCode, e.ErrorContent)); } catch (Exception e) { _logger.LogError(e, "Error creating shortlist item"); return(BadRequest()); } }
public async Task Then_If_There_Is_An_Error_A_Bad_Request_Is_Returned( CreateShortListRequest shortlistRequest, [Frozen] Mock <IMediator> mockMediator, [Greedy] ShortlistController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <CreateShortlistForUserCommand>(), It.IsAny <CancellationToken>())).ThrowsAsync(new Exception()); var controllerResult = await controller.CreateShortlistForUser(shortlistRequest) as StatusCodeResult; controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); }
public async Task Then_If_There_Is_A_HttpException_It_Is_Returned( string errorContent, CreateShortListRequest shortlistRequest, [Frozen] Mock <IMediator> mockMediator, [Greedy] ShortlistController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <CreateShortlistForUserCommand>(), It.IsAny <CancellationToken>())) .ThrowsAsync(new HttpRequestContentException("Error", HttpStatusCode.BadRequest, errorContent)); var controllerResult = await controller.CreateShortlistForUser(shortlistRequest) as ObjectResult; controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); controllerResult.Value.Should().Be(errorContent); }
public async Task Then_Creates_Shortlist_From_Mediator_Command( Guid returnId, CreateShortListRequest shortlistRequest, [Frozen] Mock <IMediator> mockMediator, [Greedy] ShortlistController controller) { mockMediator .Setup(mediator => mediator.Send( It.Is <CreateShortlistForUserCommand>(command => command.ShortlistUserId == shortlistRequest.ShortlistUserId && command.Lat.Equals(shortlistRequest.Lat) && command.Lon.Equals(shortlistRequest.Lon) && command.Ukprn.Equals(shortlistRequest.Ukprn) && command.LocationDescription.Equals(shortlistRequest.LocationDescription) && command.StandardId.Equals(shortlistRequest.StandardId) ), It.IsAny <CancellationToken>())).ReturnsAsync((returnId)); var controllerResult = await controller.CreateShortlistForUser(shortlistRequest) as CreatedResult; controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.Created); controllerResult.Value.Should().Be(returnId); }