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);
        }