Exemple #1
0
        public void TestViewProductEdit_PassSameCategoryName_ShouldNotCallCategoryServiceGetCategoryByName(int id, string categoryName)
        {
            var mockedView            = new Mock <IProductsListView>();
            var mockedFactory         = new Mock <IViewModelFactory>();
            var mockedCategoryService = new Mock <ICategoryService>();

            var category = new Category(categoryName);
            var product  = new Models.Product {
                Category = category
            };

            var mockedService = new Mock <IProductService>();

            mockedService.Setup(s => s.GetById(It.IsAny <int>())).Returns(product);

            var presenter =
                new ProductsListPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object, mockedCategoryService.Object);

            var model = new ProductDetailsViewModel
            {
                Id       = id,
                Category = categoryName
            };

            var args = new EditProductEventArgs(model);

            mockedView.Raise(v => v.ProductEdit += null, args);

            mockedCategoryService.Verify(s => s.GetCategoryByName(categoryName), Times.Never);
        }
        public void TestConstructor_ShouldInitializeCorrectly()
        {
            var mockedView            = new Mock <IProductsListView>();
            var mockedFactory         = new Mock <IViewModelFactory>();
            var mockedCategoryService = new Mock <ICategoryService>();
            var mockedService         = new Mock <IProductService>();

            mockedService.Setup(s => s.GetById(It.IsAny <int>())).Returns(new Models.Product());

            var presenter =
                new ProductsListPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object, mockedCategoryService.Object);

            Assert.IsNotNull(presenter);
        }
        public void TestViewProductDelete_ShouldCallServiceDeleteProduct(int id)
        {
            var mockedView            = new Mock <IProductsListView>();
            var mockedFactory         = new Mock <IViewModelFactory>();
            var mockedCategoryService = new Mock <ICategoryService>();
            var mockedService         = new Mock <IProductService>();

            var presenter =
                new ProductsListPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object, mockedCategoryService.Object);

            var args = new DeleteProductEventArgs(id);

            mockedView.Raise(v => v.ProductDelete += null, args);

            mockedService.Verify(s => s.DeleteProduct(id), Times.Once);
        }
        public void TestViewMyInit_ShouldCallServiceGetProducts()
        {
            var mockedView = new Mock <IProductsListView>();

            mockedView.Setup(v => v.Model).Returns(new ProductListViewModel());

            var mockedFactory         = new Mock <IViewModelFactory>();
            var mockedCategoryService = new Mock <ICategoryService>();
            var mockedService         = new Mock <IProductService>();

            var presenter =
                new ProductsListPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object,
                                          mockedCategoryService.Object);

            mockedView.Raise(v => v.MyInit += null, EventArgs.Empty);

            mockedService.Verify(s => s.GetProducts(), Times.Once);
        }
Exemple #5
0
        public void TestViewProductEdit_ShouldCallServiceGetById(int id)
        {
            var mockedView            = new Mock <IProductsListView>();
            var mockedFactory         = new Mock <IViewModelFactory>();
            var mockedCategoryService = new Mock <ICategoryService>();
            var mockedService         = new Mock <IProductService>();

            var presenter =
                new ProductsListPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object, mockedCategoryService.Object);

            var model = new ProductDetailsViewModel {
                Id = id
            };
            var args = new EditProductEventArgs(model);

            mockedView.Raise(v => v.ProductEdit += null, args);

            mockedService.Verify(s => s.GetById(id), Times.Once);
        }
        public void TestViewMyInit_ShouldSetViewModelProducts()
        {
            var mockedView = new Mock <IProductsListView>();

            mockedView.Setup(v => v.Model).Returns(new ProductListViewModel());

            var viewModel = new ProductDetailsViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateProductDetailsViewModel(It.IsAny <int>(), It.IsAny <string>(),
                                                                     It.IsAny <string>(), It.IsAny <decimal>(), It.IsAny <double>(),
                                                                     It.IsAny <string>(), It.IsAny <string>(), It.IsAny <byte[]>()))
            .Returns(viewModel);

            var mockedCategoryService = new Mock <ICategoryService>();

            var category = new Category();
            var product  = new Models.Product {
                Category = category
            };

            var productsResult = new List <Models.Product> {
                product
            };

            var mockedService = new Mock <IProductService>();

            mockedService.Setup(s => s.GetProducts()).Returns(productsResult);

            var presenter =
                new ProductsListPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object, mockedCategoryService.Object);

            mockedView.Raise(v => v.MyInit += null, EventArgs.Empty);

            var expected = new List <ProductDetailsViewModel> {
                viewModel
            };

            CollectionAssert.AreEqual(expected, mockedView.Object.Model.Products);
        }