コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        private void View_RateProduct(object sender, RateProductEventArgs e)
        {
            var userId = this.provider.CurrentUserId;

            this.productRatingService.CreateProductRating(e.Rating, e.Content, e.ProductId, userId);
        }