public async Task ConvertAsync_WithValidData_ShouldConvertToReadModel(IShoppingList list, IStore store,
                                                                              IEnumerable <IStoreItem> items, IEnumerable <IItemCategory> itemCategories,
                                                                              IEnumerable <IManufacturer> manufacturers, ShoppingListReadModel expected)
        {
            // Arrange
            var fixture                    = commonFixture.GetNewFixture();
            var storeRepositoryMock        = new StoreRepositoryMock(fixture);
            var itemRepositoryMock         = new ItemRepositoryMock(fixture);
            var itemCategoryRepositoryMock = new ItemCategoryRepositoryMock(fixture);
            var manufacturerRepositoryMock = new ManufacturerRepositoryMock(fixture);

            var service = fixture.Create <ShoppingListReadModelConversionService>();

            storeRepositoryMock.SetupFindByAsync(store.Id, store);
            itemRepositoryMock.SetupFindByAsync(items.Select(i => i.Id), items);
            itemCategoryRepositoryMock.SetupFindByAsync(itemCategories.Select(cat => cat.Id), itemCategories);
            manufacturerRepositoryMock.SetupFindByAsync(manufacturers.Select(m => m.Id), manufacturers);

            // Act
            var result = await service.ConvertAsync(list, default);

            // Assert
            using (new AssertionScope())
            {
                result.Should().BeEquivalentTo(expected);
            }
        }
            public LocalFixture()
            {
                Fixture = CommonFixture.GetNewFixture();

                ManufacturerRepositoryMock = new ManufacturerRepositoryMock(Fixture);

                ManufacturerFixture = new ManufacturerFixture(CommonFixture);
            }
            public LocalFixture()
            {
                Fixture = CommonFixture.GetNewFixture();

                StoreItemAvailabilityFixture = new StoreItemAvailabilityFixture(CommonFixture);
                StoreItemFixture             = new StoreItemFixture(StoreItemAvailabilityFixture, CommonFixture);
                StoreSectionFixture          = new StoreSectionFixture(CommonFixture);
                StoreFixture        = new StoreFixture(CommonFixture);
                ItemCategoryFixture = new ItemCategoryFixture(CommonFixture);
                ManufacturerFixture = new ManufacturerFixture(CommonFixture);

                ItemCategoryRepositoryMock = new ItemCategoryRepositoryMock(Fixture);
                ManufacturerRepositoryMock = new ManufacturerRepositoryMock(Fixture);
            }