public void ShouldCallUploadMethodFromImageUploader(string imageFileName, string folderName) { // Arrange var fileUpload = new FileUpload(); var mockedView = new Mock <IAddProductView>(); mockedView.Setup(v => v.Model).Returns(new AddProductViewModel()); 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>(); mockedImageUploader.Setup(iu => iu.Upload(It.IsAny <FileUpload>(), It.IsAny <HttpServerUtility>(), It.IsAny <string>(), It.IsAny <string>())).Verifiable(); var addProductPresenter = new AddProductPresenter(mockedView.Object, mockedProductFactory.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 ShouldCallGetCategoriesMethodFromCategoriesServices() { // Arrange var mockedView = new Mock <IAddProductView>(); mockedView.Setup(v => v.Model).Returns(new AddProductViewModel()); var mockedProductFactory = new Mock <IProductFactory>(); var mockedProductsServices = new Mock <IProductsService>(); var mockedCategoriesServices = new Mock <ICategoriesService>(); mockedCategoriesServices.Setup(cs => cs.GetCategories()).Verifiable(); var mockedRoomsServices = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); var addProductPresenter = new AddProductPresenter(mockedView.Object, mockedProductFactory.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.Initial += null, new EventArgs()); // Assert mockedCategoriesServices.Verify(cs => cs.GetCategories(), Times.Once); }
private void AddProductView_Load(object sender, EventArgs e) { if (!DesignMode) { presenter = new AddProductPresenter(this); InvokeViewInitialized(EventArgs.Empty); CodeTextBox.Focus(); } }
public void ShouldAssignToViewModelRooms_ReceivedFromGetRoomsMethod() { // Arrange var rooms = new List <Room>() { new Room() { Id = 1 }, new Room() { Id = 2 } }; var mockedView = new Mock <IAddProductView>(); mockedView.Setup(v => v.Model).Returns(new AddProductViewModel()); 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 addProductPresenter = new AddProductPresenter(mockedView.Object, mockedProductFactory.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.Initial += null, new EventArgs()); // Assert CollectionAssert.AreEquivalent(rooms, mockedView.Object.Model.Rooms); }
public void ShouldSubscribeToAddProductViewOnUploadingImageEvent() { // Arrange var mockedView = new MockedAddProductView(); var mockedProductFactory = new Mock <IProductFactory>(); var mockedProductsService = new Mock <IProductsService>(); var mockedCategoriesService = new Mock <ICategoriesService>(); var mockedRoomsService = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); // Act var addProductPresenter = new AddProductPresenter(mockedView, mockedProductFactory.Object, mockedProductsService.Object, mockedCategoriesService.Object, mockedRoomsService.Object, mockedImageUploader.Object); // Assert Assert.IsTrue(mockedView.IsSubscribedMethod("OnUploadingImage")); }
public void ShouldCreateAnInstanceInheritingPresenter_WhenValidDependenciesArePassed() { // Arrange var mockedView = new Mock <IAddProductView>(); var mockedProductFactory = new Mock <IProductFactory>(); var mockedProductsService = new Mock <IProductsService>(); var mockedCategoriesService = new Mock <ICategoriesService>(); var mockedRoomsService = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); // Act var addProductPresenter = new AddProductPresenter(mockedView.Object, mockedProductFactory.Object, mockedProductsService.Object, mockedCategoriesService.Object, mockedRoomsService.Object, mockedImageUploader.Object); // Assert Assert.IsInstanceOf <Presenter <IAddProductView> >(addProductPresenter); }
public void ShouldAddProductMethodFromProductsService(string name, decimal price, int discountPercentage, bool hasDiscount, string description, int categoryId, int roomId) { // Arrange var room = new Room(); var category = new Category(); var product = new Product() { Id = 1 }; var discountedPrice = price - (price * (discountPercentage / 100.0M)); var mockedView = new Mock <IAddProductView>(); mockedView.Setup(v => v.Model).Returns(new AddProductViewModel()); var mockedProductFactory = new Mock <IProductFactory>(); mockedProductFactory.Setup(pf => pf.CreateProduct(It.IsAny <string>(), It.IsAny <decimal>(), It.IsAny <decimal>(), It.IsAny <int>(), It.IsAny <bool>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <Category>(), It.IsAny <int>(), It.IsAny <Room>(), It.IsAny <string>(), It.IsAny <bool>())) .Returns(product) .Verifiable(); var mockedProductsServices = new Mock <IProductsService>(); mockedProductsServices.Setup(ps => ps.AddProduct(It.IsAny <Product>())).Verifiable(); var mockedCategoriesServices = new Mock <ICategoriesService>(); mockedCategoriesServices.Setup(cs => cs.GetCategories()).Verifiable(); var mockedRoomsServices = new Mock <IRoomsService>(); var mockedImageUploader = new Mock <IImageUploader>(); var addProductPresenter = new AddProductPresenter(mockedView.Object, mockedProductFactory.Object, mockedProductsServices.Object, mockedCategoriesServices.Object, mockedRoomsServices.Object, mockedImageUploader.Object); // Act mockedView.Raise(v => v.AddingProduct += null, new AddProductEventArgs(name, price, discountPercentage, hasDiscount, description, categoryId, category, roomId, room)); // Assert mockedProductsServices.Verify(ps => ps.AddProduct(product), Times.Once); }
public void SetUp() { mockAddProductView = MockRepository.GenerateMock <IAddProductView>(); mockProductModel = MockRepository.GenerateMock <IProductModel>(); addProductPresenter = new AddProductPresenter(mockAddProductView, mockProductModel); }