Esempio n. 1
0
        public void Init()
        {
            var options = EfInMemory.CreateOptions <MWDBContext>();

            _context = new MWDBContext(options);
            DbInitializer.Initialize(_context);
            _boardRepository = new BoardRepository(_context);

            _boardController = new BoardController(_boardRepository);
        }
Esempio n. 2
0
        public void GetAllProductsReturnsEmptyList()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                var products = context.Product.ToList();
                products.Count().ShouldEqual(0);
            }
        }
Esempio n. 3
0
        public void DeleteProductNotFound()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);
                Assert.Throws <KeyNotFoundException>(() => repository.DeleteProduct(ProductMocks.NewProductiPhoneXS));
            }
        }
Esempio n. 4
0
        public void AddRangeGetAllReturnsAll2Items()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var products = context.Product.ToList();
                products.Count().ShouldEqual(2);
            }
        }
Esempio n. 5
0
        public void UpdateProductNotFoundError()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);
                Assert.Throws <KeyNotFoundException>(() => repository.UpdateProduct(ProductMocks.ProductSamsungGalaxyS7));
            }
        }
Esempio n. 6
0
        public void DeleteProductSuccess()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);
                repository.DeleteProduct(ProductMocks.ProductSamsungGalaxyS7).ShouldBeTrue();
            }
        }
Esempio n. 7
0
        public void AddProductDuplicateKeyError()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);
                Assert.Throws <InvalidOperationException>(() => repository.AddProduct(ProductMocks.ProductSamsungGalaxyS7));
            }
        }
Esempio n. 8
0
        public void DeleteProductOptionNotFoundError()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                var option     = ProductMocks.ProductSamsungGalaxyS7.ProductOptions.First();
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);
                Assert.Throws <KeyNotFoundException>(() => repository.DeleteProductOption(option.ProductId, option.Id));
            }
        }
Esempio n. 9
0
        public void GetProductOptionNotFoundError()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);
                Assert.Throws <KeyNotFoundException>(() => repository.GetProductOption(new Guid(), new Guid()));
            }
        }
Esempio n. 10
0
        public void TestInMemorySupportsSchema()
        {
            //SETUP
            var options = EfInMemory.CreateOptions <DbContextWithSchema>();

            using (var context = new DbContextWithSchema(options))
            {
                //ATTEMPT
                context.Database.EnsureCreated();

                //VERIFY
            }
        }
Esempio n. 11
0
        public void TestInMemoryAcceptsComputedCol()
        {
            //SETUP
            var options = EfInMemory.CreateOptions <MyEntityComputedColDbContext>();

            using (var context = new MyEntityComputedColDbContext(options))
            {
                //ATTEMPT
                context.Database.EnsureCreated();

                //VERIFY
            }
        }
Esempio n. 12
0
        public void GetProductOptionsSuccess()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger         = new Mock <ILogger <ProductsRepository> >();
                var repository     = new ProductsRepository(context, logger.Object);
                var productOptions = repository.GetProductOptions(ProductMocks.ProductSamsungGalaxyS7.Id);
                productOptions.Count().ShouldEqual(ProductMocks.ProductSamsungGalaxyS7.ProductOptions.Count());
            }
        }
        public void Setup()
        {
            var options = EfInMemory
                          .CreateOptions <TestDBContext>();

            Context = new TestDBContext(options);
            Context.Database.EnsureCreated();

            DbSeeder.Feed(Context);

            Context.SaveChanges();

            _repository = new TestRepository <TestEntity>(Context);
        }
Esempio n. 14
0
        public void GetProductByNameReturnsEmpty()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);

                var matches = repository.SearchByName("Microsoft");
                matches.Count().ShouldEqual(0);
            }
        }
Esempio n. 15
0
        public void TestInMemoryOk()
        {
            //SETUP
            var options = EfInMemory.CreateOptions <BookContext>();

            using (var context = new BookContext(options))
            {
                context.Database.EnsureCreated();

                //ATTEMPT
                context.SeedDatabaseFourBooks();

                //VERIFY
                context.Books.Count().ShouldEqual(4);
            }
        }
Esempio n. 16
0
        public void TestInMemoryAcceptsComputedColButDoesntWork()
        {
            //SETUP
            var options = EfInMemory.CreateOptions <MyEntityComputedColDbContext>();

            using (var context = new MyEntityComputedColDbContext(options))
            {
                context.Database.EnsureCreated();

                //ATTEMPT
                context.Add(new MyEntity());
                context.SaveChanges();

                //VERIFY
                context.Set <MyEntity>().First().MyDateTime.ShouldEqual(new DateTime());
            }
        }
Esempio n. 17
0
        public void GetProductByIdReturnsSucessAndWithOptions()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger       = new Mock <ILogger <ProductsRepository> >();
                var repository   = new ProductsRepository(context, logger.Object);
                var product      = repository.GetProduct(ProductMocks.ProductSamsungGalaxyS7.Id);
                var compareLogic = new CompareLogic();

                var result = compareLogic.Compare(product, ProductMocks.ProductSamsungGalaxyS7);
                result.AreEqual.ShouldBeTrue();
                product.ProductOptions.Count().ShouldEqual(2);
            }
        }
Esempio n. 18
0
        public void GetProductByNameReturnsSuccess()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);

                var matches = repository.SearchByName("Samsung");
                matches.Count().ShouldEqual(1);

                var product = matches.First();
                product.Name.ShouldEqual(ProductMocks.ProductSamsungGalaxyS7.Name);
            }
        }
Esempio n. 19
0
        public void GetProductOptionSuccess()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var targetOption = ProductMocks.ProductSamsungGalaxyS7.ProductOptions.First();
                var logger       = new Mock <ILogger <ProductsRepository> >();
                var repository   = new ProductsRepository(context, logger.Object);
                var sourceOption = repository.GetProductOption(targetOption.ProductId, targetOption.Id);
                var compareLogic = new CompareLogic();

                var result = compareLogic.Compare(targetOption, sourceOption);
                result.AreEqual.ShouldBeTrue();
            }
        }
Esempio n. 20
0
        public void UpdateProductSuccess()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);
                var logger     = new Mock <ILogger <ProductsRepository> >();
                var repository = new ProductsRepository(context, logger.Object);
                var product    = ProductMocks.ProductSamsungGalaxyS7;
                product.Description = "TestDescription";
                product.Name        = "TestName";
                repository.UpdateProduct(product);
                var updatedProduct = repository.GetProduct(product.Id);
                updatedProduct.Name.ShouldBeSameAs(product.Name);
                updatedProduct.Description.ShouldBeSameAs(product.Description);
            }
        }
Esempio n. 21
0
        public void AddProductSuccess()
        {
            try
            {
                var options = EfInMemory.CreateOptions <ProductsContext>();
                using (var context = new ProductsContext(options))
                {
                    var logger     = new Mock <ILogger <ProductsRepository> >();
                    var repository = new ProductsRepository(context, logger.Object);
                    repository.AddProduct(ProductMocks.NewProductiPhoneXS);

                    var product = repository.GetProduct(ProductMocks.NewProductiPhoneXS.Id);
                    product.ShouldBeSameAs(ProductMocks.NewProductiPhoneXS);
                }
            }
            catch (Exception ex)
            {
                var s = ex.Message;
            }
        }
Esempio n. 22
0
        public void UpdateProductOptionSuccess()
        {
            var options = EfInMemory.CreateOptions <ProductsContext>();

            using (var context = new ProductsContext(options))
            {
                var option       = ProductMocks.ProductSamsungGalaxyS7.ProductOptions.First();
                var logger       = new Mock <ILogger <ProductsRepository> >();
                var repository   = new ProductsRepository(context, logger.Object);
                var compareLogic = new CompareLogic();
                context.FeedDataContext(ProductMocks.ProductsBaseDataset);

                option.Name        = "UpdatedName";
                option.Description = "UpdatedDescription";
                repository.UpdateProductOption(option);
                var updatedOption = repository.GetProductOption(option.ProductId, option.Id);
                var result        = compareLogic.Compare(option, updatedOption);
                result.AreEqual.ShouldBeTrue();
            }
        }
Esempio n. 23
0
 public SurveyRepositoryTests()
 {
     _options = EfInMemory.CreateOptions <ApplicationDataContext>();
 }