예제 #1
0
        public void ShouldCallRemoveMethodFromShoppingCartsService(string cartId)
        {
            // Arrange
            var shoppingCart = new ShoppingCart()
            {
                UserId = "4125621",
                Total  = 42,
            };

            var mockedView = new Mock <ICartView>();

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

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            mockedShoppingCartsService.Setup(scs =>
                                             scs.GetCart(It.IsAny <string>())).Returns(shoppingCart);

            var cartPresenter = new CartPresenter(mockedView.Object,
                                                  mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v =>
                             v.Initial += null, new CartEventArgs(cartId));

            // Assert
            Assert.AreEqual(shoppingCart, mockedView.Object.Model.ShoppingCart);
        }
예제 #2
0
        public void ShouldSubscribeToCartViewOnRemovingFromCartEvent()
        {
            // Arrange
            var mockedView = new MockedCartView();
            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            // Act
            var cartPresenter = new CartPresenter(mockedView,
                                                  mockedShoppingCartsService.Object);

            // Assert
            Assert.IsTrue(mockedView.IsSubscribedMethod("OnRemovingFromCart"));
        }
예제 #3
0
        public void ShouldCreateAnInstanceInheritingPresenter_WhenValidShoppingCartsServiceIsPassed()
        {
            // Arrange
            var mockedView = new Mock <ICartView>();
            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            // Act
            var cartPresenter = new CartPresenter(mockedView.Object,
                                                  mockedShoppingCartsService.Object);

            // Assert
            Assert.IsInstanceOf <Presenter <ICartView> >(cartPresenter);
        }
        public void ShouldCallCartProductsCountMethodFromShoppingCartsService(int productId, string cartId)
        {
            // Arrange
            var mockedView = new Mock <ICartView>();

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

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            mockedShoppingCartsService.Setup(scs =>
                                             scs.CartProductsCount(It.IsAny <string>())).Verifiable();

            var cartPresenter = new CartPresenter(mockedView.Object,
                                                  mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v =>
                             v.RemovingFromCart += null, new RemoveFromCartArgs(productId, cartId));

            // Assert
            mockedShoppingCartsService.Verify(scs => scs.CartProductsCount(cartId), Times.Once);
        }
예제 #5
0
        public void ShouldCallGetCartMethodFromShoppingCartsService(string cartId)
        {
            // Arrange
            var mockedView = new Mock <ICartView>();

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

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            mockedShoppingCartsService.Setup(scs =>
                                             scs.GetCart(It.IsAny <string>())).Verifiable();

            var cartPresenter = new CartPresenter(mockedView.Object,
                                                  mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v =>
                             v.Initial += null, new CartEventArgs(cartId));

            // Assert
            mockedShoppingCartsService.Verify(scs => scs.GetCart(cartId), Times.Once);
        }
        public void ShouldAssignProductsCountToViewModel_ReceivedFromCartProductsCountMethodFromShoppingCartsService(int productId,
                                                                                                                     string cartId,
                                                                                                                     int expectedCount)
        {
            // Arrange
            var mockedView = new Mock <ICartView>();

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

            var mockedShoppingCartsService = new Mock <IShoppingCartsService>();

            mockedShoppingCartsService.Setup(scs =>
                                             scs.CartProductsCount(It.IsAny <string>())).Returns(expectedCount);

            var cartPresenter = new CartPresenter(mockedView.Object,
                                                  mockedShoppingCartsService.Object);

            // Act
            mockedView.Raise(v =>
                             v.RemovingFromCart += null, new RemoveFromCartArgs(productId, cartId));

            // Assert
            Assert.AreEqual(expectedCount, mockedView.Object.Model.CartCount);
        }