public void Set_ModelReviewsCorrectly() { var args = MockedEventArgsGenerator.GetUserReviewsEventArgs(); var expectedReviews = new List <BeerReview>(); var viewModel = new ReviewsViewModel() { Reviews = expectedReviews }; var view = new Mock <IMyReviewsView>(); view.SetupGet(v => v.Model).Returns(viewModel); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.GetReviewsForUser(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(expectedReviews); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.Initialized += null, view.Object, args); Assert.AreSame(view.Object.Model.Reviews, expectedReviews); }
public void Call_GetReviewsForUserWithCorrectParamsOnce() { var args = MockedEventArgsGenerator.GetUserReviewsEventArgs(); var expectedReviews = new List <BeerReview>(); var viewModel = new ReviewsViewModel() { Reviews = expectedReviews }; var view = new Mock <IMyReviewsView>(); view.SetupGet(v => v.Model).Returns(viewModel); view.SetupSet(v => v.SuccessMessageVisible = false); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.GetReviewsForUser(args.UserId, args.StartRowIndex, args.PageSize)) .Returns(expectedReviews); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.Initialized += null, view.Object, args); reviewService.Verify(r => r.GetReviewsForUser(args.UserId, args.StartRowIndex, args.PageSize), Times.Once()); }
public void Set_ViewModelTotalCountPropertyToReturnValueFromCountUserReviews() { var expectedTotalCount = this.Fixture.Create <int>(); var args = MockedEventArgsGenerator.GetUserReviewsEventArgs(); var expectedReviews = new List <BeerReview>(); var viewModel = new ReviewsViewModel() { Reviews = expectedReviews }; var view = new Mock <IMyReviewsView>(); view.SetupGet(v => v.Model).Returns(viewModel); view.SetupSet(v => v.SuccessMessageVisible = false); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.GetReviewsForUser(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(expectedReviews); reviewService.Setup(s => s.CountUserReviews(It.IsAny <string>())) .Returns(expectedTotalCount); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.Initialized += null, view.Object, args); Assert.AreEqual(expectedTotalCount, viewModel.TotalCount); }
public void CatchUpdateExceptionAndSetViewProperties() { var expectedMessage = this.Fixture.Create <string>(); var args = MockedEventArgsGenerator.GetBeerReviewInfoEventArgs(); var view = new Mock <IMyReviewsView>(); var result = new Mock <IDataModifiedResult>(); result.Setup(r => r.Successful).Returns(false); result.Setup(r => r.Errors).Returns(new[] { expectedMessage }); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.UpdateReview(args.BeerReview)) .Returns(result.Object); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.ReviewUpdate += null, view.Object, args); view.VerifySet(v => v.SuccessMessageText = expectedMessage, Times.Once); view.VerifySet(v => v.SuccessMessageVisible = true, Times.Once); }
public void Hide_SuccessMessage() { var args = MockedEventArgsGenerator.GetUserReviewsEventArgs(); var expectedReviews = new List <BeerReview>(); var viewModel = new ReviewsViewModel() { Reviews = expectedReviews }; var view = new Mock <IMyReviewsView>(); view.SetupGet(v => v.Model).Returns(viewModel); view.SetupSet(v => v.SuccessMessageVisible = false); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.GetReviewsForUser(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(expectedReviews); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.Initialized += null, view.Object, args); view.VerifySet(v => v.SuccessMessageVisible = false, Times.Once()); }
public void SetViewPropertiesCorrectly() { const string ExpectedMessage = "Review successfully updated!"; var args = MockedEventArgsGenerator.GetBeerReviewInfoEventArgs(); var view = new Mock <IMyReviewsView>(); var result = new Mock <IDataModifiedResult>(); result.Setup(r => r.Successful).Returns(true); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.UpdateReview(args.BeerReview)) .Returns(result.Object); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.ReviewUpdate += null, view.Object, args); view.VerifySet(v => v.SuccessMessageText = ExpectedMessage, Times.Once); view.VerifySet(v => v.SuccessMessageVisible = true, Times.Once); }
public void SetViewProperties_WhenResultIsNotSuccessfull() { var expectedMessage = this.Fixture.Create <string>(); var reviewId = this.Fixture.Create <int>(); var review = new Mock <IBeerReview>(); review.Setup(r => r.Id) .Returns(reviewId); var args = new Mock <IBeerReviewInfoEventArgs>(); args.Setup(a => a.BeerReview) .Returns(review.Object); var expectedReviews = new List <IBeerReview>() { review.Object }; var viewModel = new ReviewsViewModel() { Reviews = expectedReviews }; var view = new Mock <IMyReviewsView>(); view.SetupGet(v => v.Model).Returns(viewModel); var result = new Mock <IDataModifiedResult>(); result.Setup(r => r.Successful).Returns(false); result.Setup(r => r.Errors).Returns(new[] { expectedMessage }); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.DeleteReview(reviewId)) .Returns(result.Object); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.ReviewDelete += null, view.Object, args.Object); view.VerifySet(v => v.SuccessMessageText = expectedMessage, Times.Once); view.VerifySet(v => v.SuccessMessageVisible = true, Times.Once); }
public void FilterViewModelsReviewsByDeletion() { var reviewId = this.Fixture.Create <int>(); var review = new Mock <IBeerReview>(); review.Setup(r => r.Id) .Returns(reviewId); review.Setup(r => r.IsDeleted) .Returns(true); var args = new Mock <IBeerReviewInfoEventArgs>(); args.Setup(a => a.BeerReview) .Returns(review.Object); var expectedReviews = new List <IBeerReview>() { review.Object }; var viewModel = new ReviewsViewModel() { Reviews = expectedReviews }; var view = new Mock <IMyReviewsView>(); view.SetupGet(v => v.Model).Returns(viewModel); var result = new Mock <IDataModifiedResult>(); result.Setup(r => r.Successful).Returns(true); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.DeleteReview(reviewId)) .Returns(result.Object); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.ReviewDelete += null, view.Object, args.Object); CollectionAssert.IsEmpty(viewModel.Reviews); }
public void CallServiceDeleteReviewMethodOnce_WithCorrectParameter() { var reviewId = this.Fixture.Create <int>(); var review = new Mock <IBeerReview>(); review.Setup(r => r.Id) .Returns(reviewId); var args = new Mock <IBeerReviewInfoEventArgs>(); args.Setup(a => a.BeerReview) .Returns(review.Object); var expectedReviews = new List <IBeerReview>() { review.Object }; var viewModel = new ReviewsViewModel() { Reviews = expectedReviews }; var view = new Mock <IMyReviewsView>(); view.SetupGet(v => v.Model).Returns(viewModel); var result = new Mock <IDataModifiedResult>(); result.Setup(r => r.Successful).Returns(false); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.DeleteReview(reviewId)) .Returns(result.Object); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.ReviewDelete += null, view.Object, args.Object); reviewService.Verify(s => s.DeleteReview(reviewId), Times.Once); }
public void CallUpdateReviewMethodOnce() { var args = MockedEventArgsGenerator.GetBeerReviewInfoEventArgs(); var view = new Mock <IMyReviewsView>(); var result = new Mock <IDataModifiedResult>(); result.Setup(r => r.Successful).Returns(false); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.UpdateReview(args.BeerReview)) .Returns(result.Object); var httpResponse = new MockedHttpResponse(); var presenter = new MyReviewsPresenter(reviewService.Object, view.Object) { HttpContext = new MockedHttpContextBase(httpResponse) }; view.Raise(v => v.ReviewUpdate += null, view.Object, args); reviewService.Verify(s => s.UpdateReview(args.BeerReview), Times.Once); }