public void TestOnRatingProduct_ShouldGetProviderIdCorrectly( int rating, string content, int productId, string userId) { var mockedView = new Mock <IProductDetailsView>(); mockedView.Setup(v => v.Model).Returns(new ProductDetailsViewModel()); var mockedProvider = new Mock <IAuthenticationProvider>(); mockedProvider.Setup(v => v.CurrentUserId).Returns(userId); var mockedService = new Mock <IProductRatingService>(); mockedService.Setup( s => s.CreateProductRating(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>())) .Returns(new Models.ProductRating()); var mockedProductService = new Mock <IProductService>(); var mockedFactory = new Mock <IViewModelFactory>(); var presenter = new ProductDetailsPresenter(mockedView.Object, mockedProductService.Object, mockedFactory.Object, mockedService.Object, mockedProvider.Object); var args = new RateProductEventArgs(rating, content, productId); mockedView.Raise(v => v.RateProduct += null, args); mockedProvider.Verify(p => p.CurrentUserId, Times.Once); }
protected void Rate_OnClick(object sender, EventArgs e) { var args = new RateProductEventArgs(int.Parse(this.RatingBox.Text), this.ContentRatingBox.Text, ProductId); this.RateProduct?.Invoke(this, args); this.SqlDataSourceComments.DataBind(); }
private void View_RateProduct(object sender, RateProductEventArgs e) { var userId = this.provider.CurrentUserId; this.productRatingService.CreateProductRating(e.Rating, e.Content, e.ProductId, userId); }