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); }
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); }