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); }
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); }