public void TestCreateProductRating_ShouldFactoryCreateCorrectly(int rating, string content, int productId, string userId) { var mockedUser = new Mock <User>(); var mockedUserRepository = new Mock <IRepository <User> >(); mockedUserRepository.Setup(x => x.GetById(It.IsAny <string>())).Returns(mockedUser.Object); var mockedProduct = new Mock <Product>(); var mockedProductRepository = new Mock <IRepository <Product> >(); mockedProductRepository.Setup(x => x.GetById(It.IsAny <int>())).Returns(mockedProduct.Object); var mockedProductRatingRepository = new Mock <IRepository <ProductRating> >(); var mockedFactory = new Mock <IProductRatingFactory>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var service = new ProductRatingService(mockedUserRepository.Object, mockedProductRepository.Object, mockedProductRatingRepository.Object, mockedUnitOfWork.Object, mockedFactory.Object); service.CreateProductRating(rating, content, productId, userId); mockedFactory.Verify(x => x.CreateProductRating(rating, content, mockedProduct.Object, mockedUser.Object)); }
public void TestCreateProductRating_ShouldCallUserRepositoryGetByIdCorrectly(int rating, string content, int productId, string userId) { var mockedUserRepository = new Mock <IRepository <User> >(); var mockedProductRepository = new Mock <IRepository <Product> >(); var mockedProductRatingRepository = new Mock <IRepository <ProductRating> >(); var mockedFactory = new Mock <IProductRatingFactory>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var service = new ProductRatingService(mockedUserRepository.Object, mockedProductRepository.Object, mockedProductRatingRepository.Object, mockedUnitOfWork.Object, mockedFactory.Object); service.CreateProductRating(rating, content, productId, userId); mockedUserRepository.Verify(x => x.GetById(userId), Times.Once); }