Exemplo n.º 1
0
        public void WhenWrongDatabasePassedThrowFileNotFoundError()
        {
            const string filePath = @"D:\Work\Training\Bootcamp\Products.db";
            var          products = new ProductsProvider(filePath);

            Assert.Throws <FileNotFoundException>(() => products.GetAllProductsFromDb());
        }
Exemplo n.º 2
0
        public DictionaryProducts()
        {
            var filePath = ProductsProvider.GetDbPath();
            var obj      = new ProductsProvider(filePath);

            DictionaryOfProducts = obj.GetAllProductsFromDb();
        }
Exemplo n.º 3
0
        public JsonResult GetProduct(ulong code)
        {
            Product product         = ProductsProvider.GetProductByCode(code);
            string  JsonDataProduct = JsonConvert.SerializeObject(product);

            return(Json(JsonDataProduct));
        }
Exemplo n.º 4
0
        public JsonResult GetProduct(uint id)
        {
            Product product         = ProductsProvider.GetProductById(id);
            string  JsonDataProduct = JsonConvert.SerializeObject(product);

            return(Json(JsonDataProduct));
        }
Exemplo n.º 5
0
        public async Task GetProductsReturnsProductUsingInValidId()
        {
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(nameof(GetProductsReturnsProductUsingInValidId))
                          .Options;

            var dbContext = new ProductsDbContext(options);

            CreateProducts(dbContext);

            var productprofile = new ProductProfile();

            var configuration = new MapperConfiguration(cfg => cfg.AddProfile(productprofile));

            var mapper = new Mapper(configuration);

            var productsProvider = new ProductsProvider(dbContext, null, mapper);

            var product = await productsProvider.GetProductByIdAsync(-1);

            Assert.False(product.IsSuccess);

            Assert.Null(product.Product);

            Assert.NotNull(product.ErrorMessage);
        }
Exemplo n.º 6
0
        public async void GetProductReturnsProductUsingValidId()
        {
            //arrange
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(nameof(GetProductReturnsProductUsingValidId))
                          .Options;
            var dbContext = new ProductsDbContext(options);

            CreateProducts(dbContext);

            var productProfile = new ProductProfile();
            var configuration  = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper         = new Mapper(configuration);

            var productsProvider = new ProductsProvider(dbContext, null, mapper);

            //act
            var result = await productsProvider.GetProductAsync(1);

            //assert
            Assert.True(result.IsSuccess);
            Assert.NotNull(result.Product);
            Assert.True(result.Product.Id == 1);
            Assert.Null(result.ErrorMessage);
        }
Exemplo n.º 7
0
        public void CheckDatabaseFilePath()
        {
            var filePath         = ProductsProvider.GetDbPath();
            var fileExistsInPath = File.Exists(filePath);

            Assert.True(fileExistsInPath.Equals(true));
        }
Exemplo n.º 8
0
        public void WhenCorrectAddressIsPassedThenCreateDbObject()
        {
            var filePath         = ProductsProvider.GetDbPath();
            var productsProvider = new ProductsProvider(filePath);

            Assert.False(productsProvider.DbConnection.Equals(null));
        }
Exemplo n.º 9
0
        public void WhenCorrectDatabaseFilePathPassedCreateProductObject()
        {
            var filePath         = ProductsProvider.GetDbPath();
            var productsProvider = new ProductsProvider(filePath);

            Assert.True(!productsProvider.Equals(null));
        }
        public async Task GetProductReturnsProductUsingInvalidId()
        {
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .EnableSensitiveDataLogging()
                          .UseInMemoryDatabase(nameof(GetProductReturnsProductUsingInvalidId))
                          .Options;

            var context = new ProductsDbContext(options);

            CreateProducts(context);

            var productProfile = new ProductProfile();
            var configuration  = new MapperConfiguration(config =>
                                                         config.AddProfile(productProfile));

            var mapper = new Mapper(configuration);

            var provider = new ProductsProvider(context, null, mapper);

            var(isSuccess, product, errorMessage) = await provider.GetProductAsync(-1);

            Assert.False(isSuccess);
            Assert.Null(product);
            Assert.NotNull(errorMessage);
        }
        public async Task GetProductsReturnsAllProducts()
        {
            //var context = new ProductsDbContext();
            //var productsProvider = new ProductsProvider();

            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .EnableSensitiveDataLogging()
                          .UseInMemoryDatabase(nameof(GetProductsReturnsAllProducts))
                          .Options;

            var context = new ProductsDbContext(options);

            CreateProducts(context);

            var productProfile = new ProductProfile();
            var configuration  = new MapperConfiguration(config =>
                                                         config.AddProfile(productProfile));

            var mapper = new Mapper(configuration);

            var provider = new ProductsProvider(context, null, mapper);

            var(isSuccess, products, errorMessage) = await provider.GetProductsAsync();

            Assert.True(isSuccess);
            Assert.True(products.Any());
            Assert.Null(errorMessage);
        }
Exemplo n.º 12
0
        public void WhenWrongFilePathIsPassedToProductsProviderCtorReturnsNull()
        {
            var filePath = "jskzjdskjk";
            var products = new ProductsProvider(filePath);

            Assert.True(products.DbConnection == null);
        }
        public void SetUp()
        {
            _unitOfWorkMock = new Mock <IUnitOfWork>(MockBehavior.Strict);
            _repositoryMock = new Mock <IRepository <ProductEntity> >(MockBehavior.Strict);

            _productsProvider = new ProductsProvider(_unitOfWorkMock.Object);

            _unitOfWorkMock
            .Setup(x => x.Repository <ProductEntity>())
            .Returns(_repositoryMock.Object);
            _unitOfWorkMock
            .Setup(x => x.SaveChanges())
            .Verifiable();

            _repositoryMock
            .Setup(x => x.GetAsNoTracking())
            .Returns(_entities.AsQueryable());
            _repositoryMock
            .Setup(x => x.Add(It.IsAny <ProductEntity>()))
            .Callback((ProductEntity entity) =>
            {
                entity.Id = 1;
            })
            .Verifiable();
            _repositoryMock
            .Setup(x => x.Attach(It.IsAny <ProductEntity>()))
            .Verifiable();
            _repositoryMock
            .Setup(x => x.Delete(It.IsAny <ProductEntity>()))
            .Verifiable();
        }
        public async Task GetProduct_ReturnProduct_UsingInValidId()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(nameof(GetProduct_ReturnProduct_UsingInValidId))
                          .Options;
            var dbContext = new ProductsDbContext(options);

            SeedData(dbContext);

            var productProfile = new ProductProfile();
            var config         = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper         = new Mapper(config);

            var productProvider = new ProductsProvider(dbContext, null, mapper);


            //Act
            var result = await productProvider.GetProductAsync(-1);

            //Assert
            Assert.False(result.IsSuccess);
            Assert.Null(result.product);
            Assert.NotNull(result.ErrorMessage);
        }
        public void WhenWrongDatabasePassedThrowFileNotFoundError()
        {
            var filePath = AppDomain.CurrentDomain.BaseDirectory;
            var dbPath   = Path.GetFullPath(Path.Combine(filePath, @"..\..\..\Products.db"));
            var products = new ProductsProvider(dbPath);

            Assert.Throws <FileNotFoundException>(() => products.GetAllProductsFromDb());
        }
Exemplo n.º 16
0
        public void GetAllProductsFromDatabaseWhenCorrectFilePathIsPassed()
        {
            var filePath    = ProductsProvider.GetDbPath();
            var products    = new ProductsProvider(filePath);
            var allProducts = products.GetAllProductsFromDb();

            Assert.True(allProducts.Count != 0);
        }
Exemplo n.º 17
0
        public void GetAsyncReturnNoFound()
        {
            var productsProvider = new ProductsProvider();
            //is needed to pass the provider class to controller as a parameter
            var productsController = new ProductsController(productsProvider);

            var resultado = productsController.GetAsync("101").Result;

            Assert.IsNotNull(resultado);
            Assert.IsInstanceOfType(resultado, typeof(NotFoundResult));
        }
Exemplo n.º 18
0
        public void GetAsyncReturnsNotFound()
        {
            // Setup
            var provider   = new ProductsProvider();
            var controller = new ProductsController(provider);

            // Act
            var result = controller.GetAsync("1000").Result;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
Exemplo n.º 19
0
        public bool DeleteProduct(uint id)
        {
            bool success = true;

            try
            {
                ProductsProvider.DeleteProduct(id);
            }
            catch
            {
                success = false;
            }
            return(success);
        }
Exemplo n.º 20
0
        public async Task GetProductReturnsProductUsingInValidId()
        {
            var productProfile = new ProductProfile();
            var configuration  = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper         = new Mapper(configuration);

            var productsProvider = new ProductsProvider(fixture.dbContext, null, mapper);

            var product = await productsProvider.GetProductAsync(-1);

            Assert.False(product.IsSuccess);
            Assert.Null(product.Product);
            Assert.NotNull(product.ErrorMessage);
        }
Exemplo n.º 21
0
        public async Task GetProductsReturnsAllProducts()
        {
            var productProfile = new ProductProfile();
            var configuration  = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper         = new Mapper(configuration);

            var productsProvider = new ProductsProvider(fixture.dbContext, null, mapper);

            var product = await productsProvider.GetProductsAsync();

            Assert.True(product.IsSuccess);
            Assert.True(product.Products.Any());
            Assert.Null(product.ErrorMessage);
        }
Exemplo n.º 22
0
        public bool UpdateStock(uint id, int stock, string description)
        {
            bool success;

            try
            {
                success = ProductsProvider.UpdateStock(id, stock, description);
            }
            catch
            {
                success = false;
            }
            return(success);
        }
        public async Task GetProductReturnProductUsingInValidIdAsync()
        {
            //Arrange

            var profile          = new ProductProfile();
            var mapperConfig     = new MapperConfiguration(a => a.AddProfile(profile));
            var mapper           = new Mapper(mapperConfig);
            var productsProvider = new ProductsProvider(dbContext, null, mapper);
            //act
            var produsts = await productsProvider.GetProductAsync(-1);

            //Assert
            Assert.False(produsts.IsSuccess);
            Assert.Null(produsts.Product);
            Assert.NotNull(produsts.ErrorMessage);
        }
Exemplo n.º 24
0
        public async Task GetProductsReturnAllProducts()
        {
            var options   = new DbContextOptionsBuilder <ProductsDbContext>().UseInMemoryDatabase(nameof(GetProductsReturnAllProducts)).Options;
            var dbContext = new ProductsDbContext(options);

            CreateProducts(dbContext);
            var producProfile    = new ProduuctProfile();
            var configurations   = new MapperConfiguration(cfg => cfg.AddProfile(producProfile));
            var mapper           = new Mapper(configurations);
            var ProductsProvider = new ProductsProvider(dbContext, null, mapper);
            var products         = await ProductsProvider.GetProductsAsync();

            Assert.True(products.IsSuccess);
            Assert.True(products.products.Any());
            Assert.Null(products.ErrorMessage);
        }
Exemplo n.º 25
0
    protected void Page_Load(object sender, EventArgs e)
    {
        using (ProductsProvider provider = new ProductsProvider()) {
            ProductsGridView.DataSource = provider.GetList();
            ProductsGridView.DataBind();

            if (!ProductsGridView.IsCallback)
            {
                Product focusedRow = ProductsGridView.GetRow(ProductsGridView.FocusedRowIndex) as Product;
                if (focusedRow != null)
                {
                    ProductDetails.LoadContent(focusedRow.Id);
                }
            }
        }
    }
        public async Task GetProductsReturnAllProductsAsync()
        {
            //Arrange


            var profile          = new ProductProfile();
            var mapperConfig     = new MapperConfiguration(a => a.AddProfile(profile));
            var mapper           = new Mapper(mapperConfig);
            var productsProvider = new ProductsProvider(dbContext, null, mapper);
            //act
            var produsts = await productsProvider.GetProductsAsync();

            //Assert
            Assert.True(produsts.IsSuccess);
            Assert.True(produsts.Products.Any());
            Assert.Null(produsts.ErrorMessage);
        }
        public async Task GetAllProductWithValidId()
        {
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(nameof(GetAllProducts)).Options;
            var dbContext = new ProductsDbContext(options);

            var productProfile = new ProductProfile();
            var configuration  = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper         = new Mapper(configuration);

            var productsProvider = new ProductsProvider(dbContext, null, mapper);
            var product          = await productsProvider.GetProductAsync(1);

            Assert.True(product.IsSuccess);
            Assert.NotNull(product.Product);
            Assert.Null(product.ErrorMessage);
        }
        public async Task GetAllProducts_ReturnAllProducts()
        {
            var dbContextOptions = new DbContextOptionsBuilder <ProductsDbContext>()
                                   .UseInMemoryDatabase(nameof(GetAllProducts_ReturnAllProducts)).Options;
            var dbContext = new ProductsDbContext(dbContextOptions);

            CreateProducts(dbContext);
            var profile  = new ProductProfile();
            var config   = new MapperConfiguration(cfg => cfg.AddProfile(profile));
            var mapper   = new Mapper(config);
            var provider = new ProductsProvider(dbContext, null, mapper);
            var products = await provider.GetProductsAsync();

            Assert.AreEqual(true, products.IsSuccess);
            Assert.IsNotNull(products.Products);
            Assert.IsTrue(products.Products.Count() == 10);
            Assert.IsTrue(products.Products.First().Name == "Product 0");
        }
    public void LoadContent(int productId)
    {
        using (ProductsProvider productsProvider = new ProductsProvider()) {
            Contact projectManager = productsProvider.GetProjectManager(productId);
            Contact supportManager = productsProvider.GetSupportManager(productId);
            Plant   plant          = productsProvider.GetPlant(productId);

            FillPlantInfo(plant);
            FillSupportManagerInfo(supportManager);
            FillProjectManagerInfo(projectManager);
        }
        DateTime startDate = GetSalesStartDate();
        DateTime endDate   = GetSalesEndDate();

        RevenueByChannelChart.SetData(SalesProvider.GetSalesGroupedByChannel(productId, startDate, endDate));
        RevenueByRegionChart.SetData(SalesProvider.GetSalesGroupedByRegion(productId, startDate, endDate));
        RevenueBySectorChart.SetData(SalesProvider.GetSalesGroupedBySector(productId, startDate, endDate));
    }
        public async Task GetProductReturnsProductUsingInvalidId()
        {
            var options = new DbContextOptionsBuilder<ProductsDbContext>()
                .UseSqlServer("Data Source=LAPTOP-U3V1724K;Initial Catalog=Microservices.Products.Database;Integrated Security=True")
                .Options;
            var dbContext = new ProductsDbContext(options);

            var productProfile = new ProductProfile();
            var configuration = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper = new Mapper(configuration);

            var productsProvider = new ProductsProvider(dbContext, null, mapper, configuration, null);

            var product = await productsProvider.GetProductAsync(-1);
            Assert.False(product.IsSuccess);
            Assert.Null(product.Product);
            Assert.NotNull(product.ErrorMessage);
        }