private object[] NoItemCategory()
        {
            IStore        store        = storeFixture.CreateValid();
            var           list         = GetShoppingListContainingOneItem(store.Id, store.Sections.First().Id);
            IManufacturer manufacturer = manufaturerFixture.Create();

            var avavilabilityDef = new StoreItemAvailabilityDefinition
            {
                StoreId          = store.Id,
                DefaultSectionId = store.Sections.First().Id
            };
            var availability = storeItemAvailabilityFixture.Create(avavilabilityDef);

            var itemDef = new StoreItemDefinition
            {
                Id             = list.Sections.First().Items.First().Id,
                ItemCategoryId = null,
                ManufacturerId = manufacturer.Id,
                Availabilities = availability.ToMonoList()
            };

            IStoreItem item          = storeItemFixture.Create(itemDef);
            var        listReadModel = ToSimpleReadModel(list, store, item, null, manufacturer);

            return(new object[]
            {
                list,
                store,
                item.ToMonoList(),
                Enumerable.Empty <IItemCategory>(),
                manufacturer.ToMonoList(),
                listReadModel
            });
        }
            public IStoreItem CreateNewItemForStore(StoreId storeId)
            {
                var availabilityDef = StoreItemAvailabilityDefinition.FromStoreId(storeId);
                var availability    = StoreItemAvailabilityFixture.Create(availabilityDef);

                var storeItemDef = new StoreItemDefinition
                {
                    Availabilities = availability.ToMonoList()
                };

                return(StoreItemFixture.Create(storeItemDef));
            }
            public IEnumerable <IStoreItemAvailability> CreateAvailabilitiesWithDuplicatedStoreIds()
            {
                var availabilities = StoreItemAvailabilityFixture.CreateManyValid().ToList();

                var def = new StoreItemAvailabilityDefinition
                {
                    StoreId = CommonFixture.ChooseRandom(availabilities).StoreId
                };

                availabilities.Add(StoreItemAvailabilityFixture.Create(def));

                return(availabilities);
            }
            public IEnumerable <IStoreItem> CreateItems(IStore store)
            {
                List <StoreItemDefinition> definitions = new List <StoreItemDefinition>();

                for (int i = 0; i < 2; i++)
                {
                    var availabilityDef = new StoreItemAvailabilityDefinition
                    {
                        StoreId          = store.Id,
                        DefaultSectionId = CommonFixture.ChooseRandom(store.Sections).Id
                    };
                    var availability = StoreItemAvailabilityFixture.Create(availabilityDef);

                    var def = new StoreItemDefinition
                    {
                        Availabilities = availability.ToMonoList()
                    };
                    definitions.Add(def);
                }

                return(StoreItemFixture.CreateMany(definitions));
            }