예제 #1
0
        public void UpdateCategorySuccess()
        {
            var existingId = Guid.NewGuid();
            var expected   = new Category {
                Id = existingId, Name = "Category New Name"
            };
            var old = new EF.Category {
                Id = existingId, Name = "Old Name"
            };

            var categoryRepository = new Mock <IRepository <EF.Category> >();

            categoryRepository.Setup(c => c.Get(It.IsAny <Guid>())).Returns(Task.FromResult(old));
            categoryRepository.Setup(c => c.Update(It.IsAny <EF.Category>())).Returns(Task.FromResult(expected.ToDto()));

            var productRepository = new Mock <IRepository <EF.Product> >();
            var logger            = new Mock <ILogger <CategoryService> >();

            var categoryService = new CategoryService(categoryRepository.Object, productRepository.Object, logger.Object);

            var actual = categoryService.Update(expected).Result;

            Assert.NotNull(actual.Item1);
            Assert.Equal(expected.Id, actual.Item1.Id);
            Assert.NotEqual(old.Name, actual.Item1.Name);
            Assert.Equal(expected.Name, actual.Item1.Name);
        }
예제 #2
0
        public static M.Category ToDto(this EF.Category category)
        {
            if (category == null)
            {
                return(null);
            }

            return(new M.Category {
                Id = category.Id,
                Name = category.Name
            });
        }
예제 #3
0
        public void DeleteCategorySuccess()
        {
            var expected = new EF.Category {
                Id = Guid.NewGuid(), Name = "Category Name"
            };

            var categoryRepository = new Mock <IRepository <EF.Category> >();

            categoryRepository.Setup(c => c.Get(It.IsAny <Guid>())).Returns(Task.FromResult(expected));
            categoryRepository.Setup(c => c.Delete(It.IsAny <Guid>())).Returns(true);

            var productRepository = new Mock <IRepository <EF.Product> >();
            var logger            = new Mock <ILogger <CategoryService> >();

            var categoryService = new CategoryService(categoryRepository.Object, productRepository.Object, logger.Object);

            var actual = categoryService.Delete(expected.Id).Result;

            Assert.True(actual.Item1);
            Assert.True(actual.Item2.Count <= 0);
        }
예제 #4
0
        public void UpdateProductFailed()
        {
            EF.Category catNotExist = null;
            var         expected    = new Product {
                Id = Guid.NewGuid(), CategoryId = Guid.NewGuid(), Name = "Product Name"
            };

            var productRepository  = new Mock <IRepository <EF.Product> >();
            var categoryRepository = new Mock <IRepository <EF.Category> >();

            categoryRepository.Setup(c => c.Get(It.IsAny <Guid>())).Returns(Task.FromResult(catNotExist));
            var logger = new Mock <ILogger <ProductService> >();

            var productService = new ProductService(productRepository.Object, categoryRepository.Object, logger.Object);

            var result = productService.Update(expected).Result;

            Assert.Null(result.Item1);
            Assert.True(result.Item2.Count > 0);
            Assert.Contains(result.Item2, e => e.Contains("Provided new Category Id is invalid"));
        }