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