Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
     }
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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"));
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 public void SetUp()
 {
     mockAddProductView  = MockRepository.GenerateMock <IAddProductView>();
     mockProductModel    = MockRepository.GenerateMock <IProductModel>();
     addProductPresenter = new AddProductPresenter(mockAddProductView, mockProductModel);
 }