コード例 #1
0
        internal override Mock <IDbContext> GetDbContextMock()
        {
            var stores = new FakeDbSet <Core.StoreModule.Store> {
                new Core.StoreModule.Store {
                    Id = 1
                }
            };
            var categories = new FakeDbSet <ProductCategory> {
                new ProductCategory {
                    Id = 1
                }
            };

            _products.Clear();
            _products.Add(
                new Product
            {
                Id         = 1,
                CategoryId = 1,
                Name       = "A",
                Variants   = new List <ProductVariant>
                {
                    new ProductVariant {
                        Id = 1, Sku = "AAA"
                    },
                    new ProductVariant {
                        Id = 2, Sku = "ZZZ"
                    }
                }
            });

            _products.Add(
                new Product
            {
                Id         = 2,
                CategoryId = 1,
                Name       = "A",
                Variants   = new List <ProductVariant>
                {
                    new ProductVariant {
                        Id = 3, Sku = "ABA"
                    },
                    new ProductVariant {
                        Id = 4, Sku = "AZZ"
                    }
                }
            });

            var dbContextMock = new Mock <IDbContext>();

            dbContextMock.Setup(c => c.Products).Returns(_products);
            dbContextMock.Setup(c => c.Stores).Returns(stores);
            dbContextMock.Setup(c => c.ProductCategories).Returns(categories);
            return(dbContextMock);
        }
コード例 #2
0
        internal override Mock <IDbContext> GetDbContextMock()
        {
            _products.Clear();
            _products.Add(
                new Product
            {
                Id        = 1,
                IsDeleted = false,
                DeletedAt = null,
                Variants  = new List <ProductVariant>
                {
                    new ProductVariant
                    {
                        Id        = 1,
                        IsDeleted = false,
                        DeletedAt = null
                    }
                }
            });

            var stores = new FakeDbSet <Core.StoreModule.Store> {
                new Core.StoreModule.Store {
                    Id = 1
                }
            };
            var dbContextMock = new Mock <IDbContext>();

            dbContextMock.Setup(c => c.Products).Returns(_products);
            dbContextMock.Setup(c => c.Stores).Returns(stores);
            dbContextMock.Setup(c => c.SaveChanges()).Returns(1).Callback(
                () =>
            {
                //move childs for last
                var product = _products.LastOrDefault();
                if (product != null)
                {
                    product.Id = _products.Count();
                    var i      = 1;
                    foreach (var photo in product.Photos)
                    {
                        photo.ProductId = product.Id;
                        photo.Id        = i;
                        i++;
                    }
                    i = 1;
                    foreach (var option in product.Options)
                    {
                        option.ProductId = product.Id;
                        option.Id        = i;
                        i++;
                    }
                    i = 1;
                    foreach (var variant in product.Variants)
                    {
                        variant.ProductId = product.Id;
                        variant.Id        = i;
                        i++;
                    }
                }
            }
                );
            return(dbContextMock);
        }