public void Test_Can_Insert_Record() { var mockedContext = new InjectableMockedContext <AdventureWorksContext>(); mockedContext.MockEntity(x => x.Products); // No seed to mock empty db var classUnderTest = new SomeDal(mockedContext.MockedContext.Object); var initial = classUnderTest.GetProductsBasedOnUserEnteredPredicate(x => x.ProductId == 1); Assert.IsNotNull(initial); // verify nothing is there Assert.IsFalse(initial.Any()); // verify nothing is there var results = classUnderTest.AddProduct(new Product { ProductId = 1 }); Assert.IsNotNull(results); Assert.AreEqual(results.ProductId, 1); var afterInsert = classUnderTest.GetProductsBasedOnUserEnteredPredicate(x => x.ProductId == 1); Assert.IsNotNull(afterInsert); Assert.AreEqual(afterInsert.Count, 1); Assert.AreEqual(afterInsert.First().ProductId, 1); }
public async Task Test_Can_Insert_Multiple_RecordsAsync() { var mockedContext = new InjectableMockedContext <AdventureWorksContext>(); mockedContext.MockEntity(x => x.Products); // No seed to mock empty db var classUnderTest = new SomeDal(mockedContext.MockedContext.Object); var initial = classUnderTest.GetProductsBasedOnUserEnteredPredicate(x => x.ProductId == 1); Assert.IsNotNull(initial); // verify nothing is there Assert.IsFalse(initial.Any()); // verify nothing is there var results = await classUnderTest.AddProductsAsync(new List <Product> { new Product { ProductId = 1 }, new Product { ProductId = 2 } }); Assert.IsNotNull(results); Assert.AreEqual(results.Count, 2); var afterInsert = await classUnderTest.GetProductsBasedOnUserEnteredPredicateAsync(x => true); // This is obviously just for demonstration Assert.IsNotNull(afterInsert); Assert.AreEqual(afterInsert.Count, 2); Assert.AreEqual(afterInsert.First().ProductId, 1); }
public void Test_Can_Query_For_Record() { var mockedContext = new InjectableMockedContext <AdventureWorksContext>(); var seedLIst = new List <Product>(); seedLIst.Add(new Product { ProductId = 1, Transactions = new List <TransactionHistory> { new TransactionHistory { TransactionId = 1 } } }); seedLIst.Add(new Product { ProductId = 2 }); mockedContext.MockEntity(x => x.Products, seedLIst); var classUnderTest = new SomeDal(mockedContext.MockedContext.Object); var results = classUnderTest.GetProductsBasedOnUserEnteredPredicate(x => x.Transactions.Any(t => t.TransactionId == 1)); Assert.AreEqual(results.Count, 1); Assert.AreEqual(results.First().ProductId, 1); }
public async Task Test_Can_Query_For_RecordAsync() { var mockedContext = new InjectableMockedContext <AdventureWorksContext>(); var seedLIst = new List <Product>(); seedLIst.Add(new Product { ProductId = 1 }); seedLIst.Add(new Product { ProductId = 2 }); mockedContext.MockEntity(x => x.Products, seedLIst); var classUnderTest = new SomeDal(mockedContext.MockedContext.Object); var results = await classUnderTest.GetProductsBasedOnUserEnteredPredicateAsync(x => x.ProductId == 1); Assert.AreEqual(results.Count, 1); Assert.AreEqual(results.First().ProductId, 1); }