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); }
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")); }
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); }
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); }