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 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 RedirectToCorrectUrl_WhenCreateReviewIsSuccessful() { var args = MockedEventArgsGenerator.GetBeerReviewInfoEventArgs(); var view = new Mock <ICreateReviewView>(); var createReviewResult = new Mock <IDataModifiedResult>(); createReviewResult.Setup(r => r.Successful) .Returns(true); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(r => r.CreateReview(It.IsAny <IBeerReview>())) .Returns(createReviewResult.Object); var imgUpload = new Mock <IImageUploadService>(); imgUpload.Setup(img => img.UploadImage(It.IsAny <byte[]>(), It.IsAny <int>(), It.IsAny <int>())) .Returns((string)null); var mockedResponse = new MockedHttpResponse(); var presenter = new CreateReviewPresenter(reviewService.Object, imgUpload.Object, view.Object) { HttpContext = new MockedHttpContextBase(mockedResponse) }; view.Raise(v => v.OnCreateReview += null, view.Object, args); Assert.AreEqual("/Reviews/My", mockedResponse.RedirectUrl); }
public void Set_ViewErrorMessageText_WhenCreateReviewFails() { var expectedMessage = this.Fixture.Create <string>(); var args = MockedEventArgsGenerator.GetBeerReviewInfoEventArgs(); var view = new Mock <ICreateReviewView>(); var createReviewResult = new Mock <IDataModifiedResult>(); createReviewResult.Setup(r => r.Successful) .Returns(false); createReviewResult.Setup(r => r.Errors) .Returns(new[] { expectedMessage }); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(r => r.CreateReview(It.IsAny <IBeerReview>())) .Returns(createReviewResult.Object); var imgUpload = new Mock <IImageUploadService>(); imgUpload.Setup(img => img.UploadImage(It.IsAny <byte[]>(), It.IsAny <int>(), It.IsAny <int>())) .Returns((string)null); var presenter = new CreateReviewPresenter(reviewService.Object, imgUpload.Object, view.Object); view.Raise(v => v.OnCreateReview += null, view.Object, args); view.VerifySet(v => v.ErrorMessageText = expectedMessage, 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 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 Call_ReviewServiceCreateReviewMethodOnceWithCorrectParams() { var view = new Mock <ICreateReviewView>(); var args = MockedEventArgsGenerator.GetBeerReviewInfoEventArgs(); var createReviewResult = new Mock <IDataModifiedResult>(); createReviewResult.Setup(r => r.Successful) .Returns(false); createReviewResult.Setup(r => r.Errors) .Returns(new string[0]); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(r => r.CreateReview(It.IsAny <IBeerReview>())) .Returns(createReviewResult.Object); var imgUpload = new Mock <IImageUploadService>(); imgUpload.Setup(img => img.UploadImage(It.IsAny <byte[]>(), It.IsAny <int>(), It.IsAny <int>())) .Returns((string)null); var presenter = new CreateReviewPresenter(reviewService.Object, imgUpload.Object, view.Object); view.Raise(v => v.OnCreateReview += null, view.Object, args); reviewService.Verify(s => s.CreateReview(args.BeerReview), Times.Once); }
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 CallReviewServiceGetByIdMethodOnceWithCorrectParams() { var args = MockedEventArgsGenerator.GetIdentifiableEventArgs <int>(); var reviewService = new Mock <IBeerReviewService>(); var view = new Mock <IReviewDetailsView>(); var presenter = new DefaultPresenter(reviewService.Object, view.Object); view.Raise(v => v.OnInitialise += null, view.Object, args); reviewService.Verify(s => s.GetById(args.Id), Times.Once); }
public void Call_UserServiceUpdateUserMethodOnceWithCorrectParams() { var args = MockedEventArgsGenerator.GetMockedUserUpdateEventArgs(); var view = new Mock <IManageUsersView>(); var userService = new Mock <IUserService>(); userService.Setup(s => s.UpdateUser(args.Id, args.Email, args.UserName, args.IsConfirmed)) .Returns(IdentityResult.Success); var sut = new ManageUsersPresenter(userService.Object, view.Object); view.Raise(v => v.UserUpdate += null, view.Object, args); userService.Verify(s => s.UpdateUser(args.Id, args.Email, args.UserName, args.IsConfirmed), Times.Once); }
public void ChangeSuccessVisibility_WhenConfirmationSucceeded() { var mockedView = new Mock <IConfirmView>(); var mockedArgs = MockedEventArgsGenerator.GetConfirmEventArgs(); var userService = new Mock <IUserService>(); userService.Setup(s => s.ConfirmEmail(mockedArgs.UserId, mockedArgs.Code)) .Returns(IdentityResult.Success); var presenter = new ConfirmPresenter(userService.Object, mockedView.Object); mockedView.Raise(x => x.OnSubmit += null, mockedView.Object, mockedArgs); mockedView.VerifySet(v => v.SuccessPanelVisible = true, Times.Once); }
public void Call_UserServiceRemoveAdminMethodOnceWithCorrectParams() { var args = MockedEventArgsGenerator.GetIdentifiableEventArgs <string>(); var view = new Mock <IManageUsersView>(); var userService = new Mock <IUserService>(); userService.Setup(s => s.RemoveAdmin(args.Id)) .Returns(IdentityResult.Success); var sut = new ManageUsersPresenter(userService.Object, view.Object); view.Raise(v => v.UserRemoveAdmin += null, view.Object, args); userService.Verify(s => s.RemoveAdmin(args.Id), Times.Once); }
public void CallBreweryServiceSearchMethodOnceWithCorrectParams() { var viewModel = new MockedBreweriesViewModel(); var view = new Mock <IBreweriesView>(); view.Setup(v => v.Model) .Returns(viewModel); var service = new Mock <IBreweryService>(); var args = MockedEventArgsGenerator.GetSearchEventArgs(); var presenter = new BreweriesPresenter(service.Object, view.Object); view.Raise(v => v.BrewerySearch += null, view.Object, args); service.Verify(s => s.Search(args.Pattern), Times.Once); }
public void Set_ViewSuccessMessage_WhenResultSucceeds() { var args = MockedEventArgsGenerator.GetIdentifiableEventArgs <string>(); var view = new Mock <IManageUsersView>(); var userService = new Mock <IUserService>(); userService.Setup(s => s.DisableUser(args.Id)) .Returns(IdentityResult.Success); var sut = new ManageUsersPresenter(userService.Object, view.Object); view.Raise(v => v.UserDisable += null, view.Object, args); view.VerifySet(v => v.SuccessMessageVisible = true); view.VerifySet(v => v.SuccessMessageText = It.IsAny <string>()); }
public void CallConfirmEmailMethod_WhenUserDataIsValid() { var mockedView = new Mock <IConfirmView>(); var mockedArgs = MockedEventArgsGenerator.GetConfirmEventArgs(); var userService = new Mock <IUserService>(); userService.Setup(s => s.ConfirmEmail(mockedArgs.UserId, mockedArgs.Code)) .Returns(IdentityResult.Failed(new string[1])); var presenter = new ConfirmPresenter(userService.Object, mockedView.Object); mockedView.Raise(x => x.OnSubmit += null, mockedView.Object, mockedArgs); userService.Verify(f => f.ConfirmEmail(mockedArgs.UserId, mockedArgs.Code), Times.Once()); }
public void Set_ViewErrorMessage_WhenResultFails() { var args = MockedEventArgsGenerator.GetIdentifiableEventArgs <string>();; var view = new Mock <IManageUsersView>(); var userService = new Mock <IUserService>(); userService.Setup(s => s.RemoveAdmin(args.Id)) .Returns(IdentityResult.Failed()); var sut = new ManageUsersPresenter(userService.Object, view.Object); view.Raise(v => v.UserRemoveAdmin += null, view.Object, args); view.VerifySet(v => v.ErrorMessageVisible = true); view.VerifySet(v => v.ErrorMessageText = It.IsAny <string>()); }
public void Set_ViewErrorMessage_WhenResultFails() { var args = MockedEventArgsGenerator.GetMockedUserUpdateEventArgs(); var view = new Mock <IManageUsersView>(); var userService = new Mock <IUserService>(); userService.Setup(s => s.UpdateUser(args.Id, args.Email, args.UserName, args.IsConfirmed)) .Returns(IdentityResult.Failed()); var sut = new ManageUsersPresenter(userService.Object, view.Object); view.Raise(v => v.UserUpdate += null, view.Object, args); view.VerifySet(v => v.ErrorMessageVisible = true); view.VerifySet(v => v.ErrorMessageText = It.IsAny <string>()); }
public void SetViewProperties_WhenReviewIsNotFound() { var args = MockedEventArgsGenerator.GetIdentifiableEventArgs <int>(); var expectedId = this.Fixture.Create <int>(); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.GetById(expectedId)) .Returns((IBeerReview)null); var view = new Mock <IReviewDetailsView>(); var presenter = new DefaultPresenter(reviewService.Object, view.Object); view.Raise(v => v.OnInitialise += null, view.Object, args); view.VerifySet(v => v.NotFoundVisible = true, Times.Once); }
public void ChangeMessagesVisibility_WhenUserIsNotConfirmed() { const string Email = "*****@*****.**"; var mockedView = new Mock <IConfirmView>(); var mockedArgs = MockedEventArgsGenerator.GetConfirmEventArgs(); var userService = new Mock <IUserService>(); userService.Setup(s => s.ConfirmEmail(mockedArgs.UserId, mockedArgs.Code)) .Returns(IdentityResult.Failed(Email)); var presenter = new ConfirmPresenter(userService.Object, mockedView.Object); mockedView.Raise(x => x.OnSubmit += null, mockedView.Object, mockedArgs); mockedView.VerifySet(v => v.SuccessPanelVisible = false, Times.Once); mockedView.VerifySet(v => v.ErrorPanelVisible = true, Times.Once); }
public void Call_ImgServiceUploadImageMethodOnceWithCorrectParams_WhenImageIsNotNull() { var args = MockedEventArgsGenerator.GetBeerReviewInfoEventArgs(); var view = new Mock <ICreateReviewView>(); var imgUpload = new Mock <IImageUploadService>(); var createReviewResult = new Mock <IDataModifiedResult>(); createReviewResult.Setup(r => r.Successful) .Returns(false); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(r => r.CreateReview(It.IsAny <IBeerReview>())) .Returns(createReviewResult.Object); var presenter = new CreateReviewPresenter(reviewService.Object, imgUpload.Object, view.Object); view.Raise(v => v.OnCreateReview += null, view.Object, args); imgUpload.Verify(i => i.UploadImage(args.Image, Constants.DefaultThumbnailSizePx, Constants.DefaultThumbnailSizePx), Times.Once); }
public void SetResultFromServiceToViewModel() { var expectedBreweries = new List <IBrewery>(); var viewModel = new MockedBreweriesViewModel(); var view = new Mock <IBreweriesView>(); view.Setup(v => v.Model) .Returns(viewModel); var args = MockedEventArgsGenerator.GetSearchEventArgs(); var service = new Mock <IBreweryService>(); service.Setup(s => s.Search(args.Pattern)) .Returns(expectedBreweries); var presenter = new BreweriesPresenter(service.Object, view.Object); view.Raise(v => v.BrewerySearch += null, view.Object, args); Assert.AreSame(expectedBreweries, view.Object.Model.Breweries); }
public void SetViewProperties_WhenReviewIsFound() { var args = MockedEventArgsGenerator.GetIdentifiableEventArgs <int>(); var expectedBeerReview = new Mock <IBeerReview>(); var reviewService = new Mock <IBeerReviewService>(); reviewService.Setup(s => s.GetById(args.Id)) .Returns(expectedBeerReview.Object); var viewModel = new MockedBeerReviewViewModel(); var view = new Mock <IReviewDetailsView>(); view.Setup(v => v.Model).Returns(viewModel); var presenter = new DefaultPresenter(reviewService.Object, view.Object); view.Raise(v => v.OnInitialise += null, view.Object, args); view.VerifySet(v => v.NotFoundVisible = false, Times.Once); Assert.AreSame(expectedBeerReview.Object, view.Object.Model.Review); }
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); }