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);
        }
Beispiel #2
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);
        }
Beispiel #3
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);
        }
        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);
        }
Beispiel #6
0
        public static void Run()
        {
            var addressmapper                = new AddressProfile();
            var categorymapper               = new CategoryProfile();
            var customermapper               = new CustomerProfile();
            var customerRolemapper           = new CustomerRoleProfile();
            var manufacturermapper           = new ManufacturerProfile();
            var picturemapper                = new PictureProfile();
            var productAttributemapper       = new ProductAttributeProfile();
            var productmapper                = new ProductProfile();
            var specificationAttributemapper = new SpecificationAttributeProfile();
            var tierPricemapper              = new TierPriceProfile();

            var config = new MapperConfiguration(cfg => {
                cfg.AddProfile(addressmapper.GetType());
                cfg.AddProfile(categorymapper.GetType());
                cfg.AddProfile(customermapper.GetType());
                cfg.AddProfile(customerRolemapper.GetType());
                cfg.AddProfile(manufacturermapper.GetType());
                cfg.AddProfile(picturemapper.GetType());
                cfg.AddProfile(productAttributemapper.GetType());
                cfg.AddProfile(productmapper.GetType());
                cfg.AddProfile(specificationAttributemapper.GetType());
                cfg.AddProfile(tierPricemapper.GetType());
            });

            AutoMapperConfiguration.Init(config);
        }
        public async Task <ActionResult <User> > NewProductProfile([FromBody] ProductProfile product)
        {
            //// This doesn't count login failures towards account lockout
            //// To enable password failures to trigger account lockout, set lockoutOnFailure: true

            _context.ProductsProfile.Add(product);
            await _context.SaveChangesAsync();

            return(Ok());
        }
        private ProductsProvider CreateProductProviderInstance(string key)
        {
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(key)
                          .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);

            return(new ProductsProvider(dbContext, null, mapper));
        }
Beispiel #9
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);
        }
Beispiel #10
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);
        }
Beispiel #11
0
        public async Task GetProductReturnsProductsByInValidId()
        {
            //var options = new DbContextOptionsBuilder<ProductDBContext>().UseInMemoryDatabase(nameof(GetProductReturnsAllProducts)).Options;
            // var dbContext = new ProductDBContext(_dbContextOptions);
            // CreateProducts(dbContext);

            var productProfile  = new ProductProfile();
            var configuration   = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper          = new Mapper(configuration);
            var productProvider = new ProductProvider(_productDBContext, null, mapper);

            var result = await productProvider.GetProductAsycnById(-1);

            Assert.False(result.IsSucess);
        }
Beispiel #12
0
        public async Task GetProductReturnsAllProducts()
        {
            //var dbContext = new ProductDBContext(_dbContextOptions);
            //CreateProducts(dbContext);

            var productProfile  = new ProductProfile();
            var configuration   = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper          = new Mapper(configuration);
            var productProvider = new ProductProvider(_productDBContext, null, mapper);

            var result = await productProvider.GetProductAsycn();

            Assert.True(result.IsSucess);
            Assert.True(result.Products.Any());
        }
        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);
        }
        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);
        }
Beispiel #15
0
        public async Task GetProductReturnsAllProducts()
        {
            var options   = new DbContextOptionsBuilder <ProductDBContext>().UseInMemoryDatabase(nameof(GetProductReturnsAllProducts)).Options;
            var dbContext = new ProductDBContext(options);

            CreateProducts(dbContext);

            var productProfile  = new ProductProfile();
            var configuration   = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper          = new Mapper(configuration);
            var productProvider = new ProductProvider(dbContext, null, mapper);

            var result = await productProvider.GetProductAsycn();

            Assert.True(result.IsSucess);
            Assert.True(result.Products.Any());
        }
        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);
        }
Beispiel #17
0
        private ProductsRepository GetProductsRepository(string dbName)
        {
            var dbContextOptions = new DbContextOptionsBuilder <ProductsDbContext>()
                                   .UseInMemoryDatabase(dbName)
                                   .Options;
            var dbContext = new ProductsDbContext(dbContextOptions);

            CreateProducts(dbContext);

            var productsProfile     = new ProductProfile();
            var mapperConfiguration = new MapperConfiguration(cnfg => cnfg.AddProfile(productsProfile));
            var mapper = new Mapper(mapperConfiguration);

            var productsRepository = new ProductsRepository(dbContext, null, mapper);

            return(productsRepository);
        }
Beispiel #18
0
        public async Task GetProductsReturnsAllProducts()
        {
            var options   = new DbContextOptionsBuilder <ProductsDbContext>().UseInMemoryDatabase(nameof(GetProductsReturnsAllProducts)).Options;
            var dbContext = new ProductsDbContext(options);

            CreateProducts(dbContext);
            var    productProfile   = new ProductProfile();
            var    configuration    = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            Mapper mapper           = new Mapper(configuration);
            var    productsProvider = new ProductsProvider(dbContext, null, mapper);

            var product = await productsProvider.GetProductsAsync();

            Assert.True(product.IsSuccess);
            Assert.True(product.Products.Any <Models.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 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);
        }
        public async void GetProductInValidProductId()
        {
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(nameof(GetProductValidProductId))
                          .Options;

            var productDbContext = new ProductsDbContext(options);
            var profile          = new ProductProfile();
            var configuration    = new MapperConfiguration(config => config.AddProfile(profile));
            var mapper           = new Mapper(configuration);
            var dbprovider       = new ProductsProvider(productDbContext, null, mapper);

            var products = await dbprovider.GetProductAsync(5);

            Assert.False(products.Success);
            Assert.Null(products.product);
            //  Assert.True(products.Products.Any());
            Assert.Contains("Not", products.ErrorMessage);
        }
Beispiel #22
0
        public async Task GetProductReturnWithValidId()
        {
            var dbContextOptions = new DbContextOptionsBuilder <ProductsDbContext>().UseInMemoryDatabase("Products").Options;
            var dbContext        = new ProductsDbContext(dbContextOptions);

            CreateProducts(dbContext);

            var productProfile   = new ProductProfile();
            var configuration    = new MapperConfiguration(cfg => cfg.AddProfile(productProfile));
            var mapper           = new Mapper(configuration);
            var productsProvider = new ProductProvider(dbContext, null, mapper);

            var product = await productsProvider.GetProduct(1);

            Assert.True(product.IsSuccess);
            Assert.NotNull(product.Product);
            Assert.Equal(1, product.Product.Id);
            Assert.Null(product.ErrorMessage);
        }
Beispiel #23
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 mapperConfig   = new MapperConfiguration(config => config.AddProfile(productProfile));

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

            var results = await productProvider.GetProductAsync(13);

            Assert.False(results.IsSuccess);
            Assert.Null(results.Product);
        }
Beispiel #24
0
        public async Task Test_GetProductDoesNotReturnProductUsingInValidId()
        {
            var options = new DbContextOptionsBuilder <ProductDbContext>()
                          .UseInMemoryDatabase(nameof(Test_GetProductsReturnsAllProducts)).Options;
            var dbContext = new ProductDbContext(options);

            GenerateProducts(dbContext);

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

            var productRepository = new ProductRepository(dbContext, null, mapper);

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

            Assert.False(product.IsSuccess);
            Assert.Null(product.Product);
            Assert.NotNull(product.ErrorMessage);
        }
        public async void GetProductReturnsAllproducts()
        {
            var options = new DbContextOptionsBuilder <ProductDbContext>()
                          .UseInMemoryDatabase(nameof(GetProductReturnsAllproducts))
                          .Options;
            var dbContext = new ProductDbContext(options);

            CreateProducts(dbContext);

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

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

            var result = await productsProvider.GetProductsAsync();

            Assert.True(result.IsSuccess);
            Assert.NotEmpty(result.Products);
            Assert.Null(result.ErrorMessage);
        }
Beispiel #26
0
        public async Task GetProductUsingInvalidId()
        {
            var productGuid = Guid.NewGuid();
            var options     = new DbContextOptionsBuilder <ProductsDbContext>()
                              .UseInMemoryDatabase(nameof(GetProductUsingInvalidId))
                              .Options;
            var dbContext = new ProductsDbContext(options);

            this.CreateProductWithId(dbContext, productGuid);

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

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

            var product = await productsProvider.GetProductAsync(Guid.NewGuid());

            Assert.False(product.IsSuccess);
            Assert.Null(product.Product);
            Assert.NotNull(product.ErrorMessage);
        }
        public async void GetProductsReturnOneProduct()
        {
            var options = new DbContextOptionsBuilder <ProductDbContext>().UseInMemoryDatabase("ProductDB").Options;

            var dbContext = new ProductDbContext(options);

            CreateProduct(dbContext);


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

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

            var product = await productProvider.GetProductAsync(10);

            Assert.True(product.IsSucess);
            Assert.NotNull(product.product);
            Assert.Equal(10, product.product.Id);
            Assert.Null(product.ErrorMessage);
        }
Beispiel #28
0
        public async Task GetProductsReturnsProductUsingValidId()
        {
            var options = new DbContextOptionsBuilder <ProductDbContext>().UseInMemoryDatabase(nameof(GetProductsReturnsProductUsingValidId)).Options;

            var db = new ProductDbContext(options);

            CreateProducts(db);

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

            var mapper = new Mapper(configuration);

            var productsProvider = new ProductProvider(db, null, mapper);

            var res = await productsProvider.GetProductAsync(1);

            Assert.True(res.IsSuccesss);

            Assert.Equal(1, res.Product.Id);

            Assert.Equal("", res.ErrorMessage);
        }
        public async Task GetProductsReturnsProductUsingValidIdAsync()
        {
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(nameof(GetProductsReturnsProductUsingValidIdAsync))
                          .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 productService = new ProductService(dbContext, null, mapper);

            var product = await productService.GetProductAsync(1);

            Assert.True(product.isSuccess);
            Assert.NotNull(product.product);
            Assert.True(product.product.Id == 1);
            Assert.Null(product.errorMessage);
        }
        public async System.Threading.Tasks.Task GetProductMethodReturnsProductUsingValidId()
        {
            var options = new DbContextOptionsBuilder <ProductsDbContext>()
                          .UseInMemoryDatabase(nameof(GetProductMethodReturnsProductUsingValidId))
                          .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 products = await productsProvider.GetProductAsync(1);

            Assert.True(products.IsSuccess);
            Assert.NotNull(products.Product);
            Assert.True(products.Product.Id == 1);
            Assert.Null(products.ErrorMessage);
        }