private CatalogueItemsControllerTestContext()
            {
                GetCatalogueItemDtoResult = CatalogueItemDtoBuilder
                                            .Create()
                                            .Build();

                ListCatalogueItemsDtoResult = new List <CatalogueItemDto>();

                MediatorMock = new Mock <IMediator>();
                MediatorMock
                .Setup(m => m.Send(It.IsAny <GetCatalogueItemByIdQuery>(), default))
                .ReturnsAsync(() => GetCatalogueItemDtoResult);

                MediatorMock
                .Setup(m => m.Send(It.IsAny <ListCatalogueItemQuery>(), default))
                .ReturnsAsync(() => ListCatalogueItemsDtoResult);

                Controller = new CatalogueItemsController(MediatorMock.Object);
            }
        public async Task ListAsync_CatalogueItemsExist_ReturnsExpectedResponse()
        {
            var context        = CatalogueItemsControllerTestContext.Create();
            var catalogueItem1 = CatalogueItemDtoBuilder
                                 .Create()
                                 .Build();

            var catalogueItem2 = CatalogueItemDtoBuilder
                                 .Create()
                                 .Build();

            context.ListCatalogueItemsDtoResult.Add(catalogueItem1);
            context.ListCatalogueItemsDtoResult.Add(catalogueItem2);

            var response = await context.Controller.ListAsync(
                "sup1",
                CatalogueItemType.Solution,
                PublishedStatus.Published);

            var expected = context.ListCatalogueItemsDtoResult.Select(CatalogueItemResultBuilder).ToList();

            response.Value.Should().BeEquivalentTo(expected);
        }