public void ShouldCallUploadMethodFromImageUploader(string imageFileName, string folderName) { // Arrange var fileUpload = new FileUpload(); var mockedView = new Mock <IEditProductView>(); mockedView.Setup(v => v.Model).Returns(new EditProductViewModel()); var mockedProductsServices = new Mock <IProductsService>(); var mockedCategoriesServices = new Mock <ICategoriesService>(); var mockedRoomsServices = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); mockedImageUploader.Setup(iu => iu.Upload(It.IsAny <FileUpload>(), It.IsAny <HttpServerUtility>(), It.IsAny <string>(), It.IsAny <string>())).Verifiable(); var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.UploadingImage += null, new UploadImageEventArgs(fileUpload, It.IsAny <HttpServerUtility>(), imageFileName, folderName)); // Assert mockedImageUploader.Verify(iu => iu.Upload(fileUpload, It.IsAny <HttpServerUtility>(), imageFileName, folderName), Times.Once); }
public void ShouldCallGetRoomsMethodFromRoomsServices() { int id = 2; // Arrange var mockedView = new Mock <IEditProductView>(); mockedView.Setup(v => v.Model).Returns(new EditProductViewModel()); var mockedProductsServices = new Mock <IProductsService>(); var mockedCategoriesServices = new Mock <ICategoriesService>(); var mockedRoomsServices = new Mock <IRoomsService>(); mockedRoomsServices.Setup(rs => rs.GetRooms()).Verifiable(); var mockedImageUploader = new Mock <IImageUploader>(); var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.Initial += null, new GetProductEventArgs(id)); // Assert mockedRoomsServices.Verify(rs => rs.GetRooms(), Times.Once); }
public void ShouldAssignToViewModelProduct_ReceivedFromGetProductById(int id) { // Arrange var product = new Product() { Id = 1 }; var mockedView = new Mock <IEditProductView>(); mockedView.Setup(v => v.Model).Returns(new EditProductViewModel()); var mockedProductsServices = new Mock <IProductsService>(); mockedProductsServices.Setup(ps => ps.GetProductById(It.IsAny <int>())) .Returns(product) .Verifiable(); var mockedCategoriesServices = new Mock <ICategoriesService>(); var mockedRoomsServices = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.Initial += null, new GetProductEventArgs(id)); // Assert Assert.AreEqual(product, mockedView.Object.Model.Product); }
public void ShouldCallEditProductMethodFromProductsService() { // Arrange var product = new Product(); var mockedView = new Mock <IEditProductView>(); mockedView.Setup(v => v.Model).Returns(new EditProductViewModel()); var mockedProductFactory = new Mock <IProductFactory>(); var mockedProductsServices = new Mock <IProductsService>(); mockedProductsServices.Setup(ps => ps.EditProduct(It.IsAny <Product>())) .Verifiable(); var mockedCategoriesServices = new Mock <ICategoriesService>(); var mockedRoomsServices = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.EdittingProduct += null, new EditProductEventArgs(product)); // Assert mockedProductsServices.Verify(ps => ps.EditProduct(product), Times.Once); }
public void ShouldCreateAnInstanceInheritingPresenter_WhenValidDependenciesArePassed() { // Arrange var mockedView = new Mock <IEditProductView>(); var mockedProductsService = new Mock <IProductsService>(); var mockedCategoriesService = new Mock <ICategoriesService>(); var mockedRoomsService = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); // Act and Assert var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsService.Object, mockedCategoriesService.Object, mockedRoomsService.Object, mockedImageUploader.Object); Assert.IsInstanceOf <Presenter <IEditProductView> >(editProductPresenter); }
public void ShouldSubscribeToEditProductViewOnUploadingImageEvent() { // Arrange var mockedView = new MockedEditProductView(); var mockedProductsService = new Mock <IProductsService>(); var mockedCategoriesService = new Mock <ICategoriesService>(); var mockedRoomsService = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); // Act var editProductPresenter = new EditProductPresenter(mockedView, mockedProductsService.Object, mockedCategoriesService.Object, mockedRoomsService.Object, mockedImageUploader.Object); // Assert Assert.IsTrue(mockedView.IsSubscribedMethod("OnUploadingImage")); }
public void ShouldAssignToViewModelRooms_ReceivedFromGetRoomsMethod() { // Arrange int id = 3; var rooms = new List <Room>() { new Room() { Id = 1 }, new Room() { Id = 2 } }; var mockedView = new Mock <IEditProductView>(); mockedView.Setup(v => v.Model).Returns(new EditProductViewModel()); var mockedProductFactory = new Mock <IProductFactory>(); var mockedProductsServices = new Mock <IProductsService>(); var mockedCategoriesServices = new Mock <ICategoriesService>(); var mockedRoomsServices = new Mock <IRoomsService>(); mockedRoomsServices.Setup(rs => rs.GetRooms()) .Returns(rooms) .Verifiable(); var mockedImageUploader = new Mock <IImageUploader>(); var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.Initial += null, new GetProductEventArgs(id)); // Assert CollectionAssert.AreEquivalent(rooms, mockedView.Object.Model.Rooms); }
public void ShouldAssignToViewModelCategories_ReceivedFromGetCategories() { // Arrange int id = 5; var categories = new List <Category>() { new Category() { Id = 3 }, new Category() { Id = 4 } }; var mockedView = new Mock <IEditProductView>(); mockedView.Setup(v => v.Model).Returns(new EditProductViewModel()); var mockedProductsServices = new Mock <IProductsService>(); var mockedCategoriesServices = new Mock <ICategoriesService>(); mockedCategoriesServices.Setup(cs => cs.GetCategories()) .Returns(categories) .Verifiable(); var mockedRoomsServices = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.Initial += null, new GetProductEventArgs(id)); // Assert CollectionAssert.AreEquivalent(categories, mockedView.Object.Model.Categories); }
public void ShouldRecalculateProductDiscountPriceBaseOnNewPriceAndDiscountPercentage(decimal oldDiscountPrice, decimal price, int discountPercentage) { // Arrange var product = new Product() { DiscountedPrice = oldDiscountPrice, Price = price, DiscountPercentage = discountPercentage }; var newDiscountPrice = price - (price * (discountPercentage / 100.0M)); var mockedView = new Mock <IEditProductView>(); mockedView.Setup(v => v.Model).Returns(new EditProductViewModel()); var mockedProductFactory = new Mock <IProductFactory>(); var mockedProductsServices = new Mock <IProductsService>(); var mockedCategoriesServices = new Mock <ICategoriesService>(); var mockedRoomsServices = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); var editProductPresenter = new EditProductPresenter(mockedView.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.EdittingProduct += null, new EditProductEventArgs(product)); // Assert Assert.AreEqual(product.DiscountedPrice, newDiscountPrice); Assert.AreNotEqual(product.DiscountedPrice, oldDiscountPrice); }
public EditProductUserControl(EditProductPresenter presenter) { // initialize databindings based on properties of the presenter }