public async Task And_Exception_Then_Returns_Bad_Request(
            Guid userId,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] ShortlistController controller)
        {
            mockMediator
            .Setup(mediator => mediator.Send(
                       It.IsAny <GetShortlistForUserCountQuery>(),
                       It.IsAny <CancellationToken>()))
            .Throws <InvalidOperationException>();

            var controllerResult = await controller.GetShortlistForUserCount(userId) as StatusCodeResult;

            controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.BadRequest);
        }
        public async Task Then_Gets_Shortlist_Item_Count_From_Mediator(
            Guid userId,
            int queryResult,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] ShortlistController controller)
        {
            mockMediator
            .Setup(mediator => mediator.Send(
                       It.Is <GetShortlistForUserCountQuery>(query =>
                                                             query.UserId == userId),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(queryResult);

            var controllerResult = await controller.GetShortlistForUserCount(userId) as ObjectResult;

            controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.OK);
            var model = controllerResult.Value as GetShortlistForUserCountResponse;

            model !.Count.Should().Be(queryResult);
        }