Exemplo n.º 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);
        }
Exemplo n.º 2
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);
        }