Example #1
0
        public async Task TestMethod1()
        {
            var cts = new CancellationTokenSource();

            var optionsBuilder = new DbContextOptionsBuilder <DevopsDbContext>();

            optionsBuilder
            .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=LocalDbDevops;Integrated Security=True;Connect Timeout=30;")
            .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking)
            ;
            var db = new DevopsDbContext(optionsBuilder.Options);

            IDevopsRepository repo = new DevopsRepository(db);
            await repo.Clear(cts.Token);

            {
                var products = await repo.GetAllProducts(cts.Token);

                Assert.IsFalse(products.Any());
            }
            await repo.AddProducts(GetSampleProducts(), cts.Token);

            {
                var products = (await repo.GetAllProducts(cts.Token)).ToArray();
                Assert.IsTrue(products.Any());
                Assert.AreEqual(2, products.Count());
            }
            {
                var result = await repo.DeleteProductsById(new long[] { 12345 }, cts.Token);

                Assert.AreEqual(1, result);
            }
            {
                var products = (await repo.GetAllProducts(cts.Token)).ToArray();
                Assert.IsTrue(products.Any());
                Assert.AreEqual(1, products.Count());
                Assert.AreEqual(12346, products[0].Id);
                Assert.AreEqual(34567M, products[0].Price);
                Assert.AreEqual("🍎", products[0].Name);
                Assert.AreEqual(4, products[0].Stock);
            }
        }
Example #2
0
 public DevopsRepository(DevopsDbContext db)
 {
     this.db = db;
 }