//ToDO
        public async void ThrowException_WhenInput_AlreadyExists()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <GameStoreContext>()
                          .UseInMemoryDatabase("ThrowException_WhenInput_AlreadyExists").Options;

            var productToAdd = new Product
            {
                Name                 = "Test",
                Description          = "test description",
                ShoppingCartProducts = new List <ShoppingCartProducts>(),
                Comments             = new List <Comment>()
            };

            //Act
            using (var curContext = new GameStoreContext(options))
            {
                var sut = new ProductsService(curContext);
                curContext.Products.Add(productToAdd);

                curContext.SaveChanges();
            }

            //Act
            using (var curContext = new GameStoreContext(options))
            {
                var sut = new ProductsService(curContext);
                await sut.AddProductAsync(productToAdd);
            }
        }
示例#2
0
 public async Task <ActionResult <List <Product> > > Post([FromBody] Product product)
 {
     if (ModelState.IsValid)
     {
         return(await _serv.AddProductAsync(product));
     }
     else
     {
         return(new BadRequestObjectResult(new { ErrorMessage = ErrorMessages.InputIsNotValid }));
     }
 }
示例#3
0
        public async Task AddProductAsyncNullEntityShouldNotAddProduct()
        {
            var options = new DbContextOptionsBuilder <PhotoparallelDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;
            var dbContext = new PhotoparallelDbContext(options);

            var productService = new ProductsService(dbContext);

            Product product = null;
            await productService.AddProductAsync(product);

            var products = dbContext.Products.ToList();

            Assert.Empty(products);
        }
        public async Task AddProductAsync_GivenAValidScenario_ShouldNotThrowAnException()
        {
            IUnitOfWork <IBoltDbContext> unitOfWorkMock = new Mock <IUnitOfWork <IBoltDbContext> >().Object;

            var productDto = new ProductDTO
            {
                Name        = "Cappucino",
                Description = "This is a test description",
                Price       = 2.5
            };

            var service = new ProductsService(unitOfWorkMock);

            Action result = async() => await service.AddProductAsync(productDto);

            result.Should().NotThrow();
        }
示例#5
0
        public async Task AddProductAsyncShouldAddProduct()
        {
            var options = new DbContextOptionsBuilder <PhotoparallelDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;
            var dbContext = new PhotoparallelDbContext(options);

            var productService = new ProductsService(dbContext);

            var product = new Product {
                Name = "Canon M50"
            };
            await productService.AddProductAsync(product);

            var products = dbContext.Products.ToList();

            Assert.Single(products);
            Assert.Equal(product.Name, products.First().Name);
        }
示例#6
0
        public void Add_A_Product_Test()
        {
            var result = service.AddProductAsync(null).Result;

            Assert.IsType <BadRequestObjectResult>(result);
        }
示例#7
0
        public async Task <IActionResult> CreateProductAsync([FromBody] NewProductItem newProduct)
        {
            var product = await ProductsService.AddProductAsync(newProduct);

            return(Created("", product));
        }