public void ShouldCallGetCategoriesByRoomSpecialFilteredWithExactEventArgument(int id)
        {
            // Arrange
            var mockedView = new Mock <IFurnitureDetailedView>();

            mockedView.Setup(v => v.Model).Returns(new FurnitureDetailedViewModel());

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();
            var mockedProductsService      = new Mock <IProductsService>();

            mockedProductsService.Setup(ps =>
                                        ps.GetProductById(It.IsAny <int>()))
            .Verifiable();

            var furnitureDetailedPresenter = new FurnitureDetailedPresenter(mockedView.Object,
                                                                            mockedProductsService.Object,
                                                                            mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v => v.GettingProductById += null,
                             new FurnitureDetailedEventArgs(id));

            // Assert
            mockedProductsService.Verify(ps =>
                                         ps.GetProductById(id), Times.Once);
        }
        public void ShouldAddCartProductCountToViewModelCartCount(int quantity, string id)
        {
            // Arrange
            var mockedView = new Mock <IFurnitureDetailedView>();

            mockedView.Setup(v => v.Model).Returns(new FurnitureDetailedViewModel());

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            mockedShoppingCartsService.Setup(scs => scs.CartProductsCount(id))
            .Returns(quantity);

            var mockedProductsService = new Mock <IProductsService>();

            var furnitureDetailedPresenter = new FurnitureDetailedPresenter(mockedView.Object,
                                                                            mockedProductsService.Object,
                                                                            mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v => v.AddingToShoppingCart += null,
                             new AddToShoppingCartEventArgs(quantity, id));

            // Assert
            Assert.AreEqual(quantity, mockedView.Object.Model.CartCount);
        }
        public void ShouldCallAddMethodOfShoppingCartsServiceWithExactParameters(int quantity, string id)
        {
            // Arrange
            var mockedView = new Mock <IFurnitureDetailedView>();

            mockedView.Setup(v => v.Model).Returns(new FurnitureDetailedViewModel());

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            mockedShoppingCartsService.Setup(scs => scs.Add(It.IsAny <int>(),
                                                            It.IsAny <Product>(),
                                                            It.IsAny <string>()))
            .Verifiable();

            var mockedProductsService = new Mock <IProductsService>();

            var furnitureDetailedPresenter = new FurnitureDetailedPresenter(mockedView.Object,
                                                                            mockedProductsService.Object,
                                                                            mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v => v.AddingToShoppingCart += null,
                             new AddToShoppingCartEventArgs(quantity, id));

            // Assert
            mockedShoppingCartsService.Verify(scs =>
                                              scs.Add(quantity, mockedView.Object.Model.Product, id), Times.Once);
        }
Exemplo n.º 4
0
        public void ShouldCreateAnInstanceInheritingPresenter_WhenValidProductsServiceAndShoppingCartsServiceArePassed()
        {
            // Arrange
            var mockedView                 = new Mock <IFurnitureDetailedView>();
            var mockedProductsService      = new Mock <IProductsService>();
            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            // Act
            var furnitureDetailedPresenter = new FurnitureDetailedPresenter(mockedView.Object,
                                                                            mockedProductsService.Object,
                                                                            mockedShoppingCartsService.Object);

            // Assert
            Assert.IsInstanceOf <Presenter <IFurnitureDetailedView> >(furnitureDetailedPresenter);
        }
Exemplo n.º 5
0
        public void ShouldSubscribeToFurnitureDetailedViewOnAddingToShoppingCartEvent()
        {
            // Arrange
            var mockedView                 = new MockedFurnitureDetailedView();
            var mockedProductsService      = new Mock <IProductsService>();
            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            // Act
            var furnitureDetailedPresenter = new FurnitureDetailedPresenter(mockedView,
                                                                            mockedProductsService.Object,
                                                                            mockedShoppingCartsService.Object);

            // Assert
            Assert.IsTrue(mockedView.IsSubscribedMethod("OnAddingToShoppingCart"));
        }
        public void ShouldReturnNullProductToViewModel_WhenNoProductIsFoundFromGetProductById(int id, object expectedProduct)
        {
            // Arrange
            var products = new List <Product>()
            {
                new Product()
                {
                    Id = 1, Name = "First"
                },
                new Product()
                {
                    Id = 42, Name = "Forty second"
                },
                new Product()
                {
                    Id = 13, Name = "Thirteen"
                },
            };

            var mockedView = new Mock <IFurnitureDetailedView>();

            mockedView.Setup(v => v.Model).Returns(new FurnitureDetailedViewModel());

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();
            var mockedProductsService      = new Mock <IProductsService>();

            mockedProductsService.Setup(ps =>
                                        ps.GetProductById(It.IsAny <int>()))
            .Returns(products.FirstOrDefault(p => p.Id == id));

            var furnitureDetailedPresenter = new FurnitureDetailedPresenter(mockedView.Object,
                                                                            mockedProductsService.Object,
                                                                            mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v => v.GettingProductById += null,
                             new FurnitureDetailedEventArgs(id));

            // Assert
            Assert.AreEqual(expectedProduct, mockedView.Object.Model.Product);
        }