public void UpdateViewModel_WhenEventIsRaised() { //Arrange var viewMock = new Mock <IUploadImageView>(); viewMock.Setup(v => v.Model).Returns(new UploadImageViewModel()); var imageProcessorServiceMock = new Mock <IImageProcessorService>(); var userServiceMock = new Mock <IUserService>(); var uploadedImageServiceMock = new Mock <IUploadedImageService>(); var fileSaverMock = new Mock <IFileSaverService>(); int anyInt = It.IsAny <int>(); var args = new UploadImageEventArgs() { ContentLength = anyInt, FileName = It.IsAny <string>(), InputStream = Stream.Null }; var presenter = new UploadImagePresenter( viewMock.Object, uploadedImageServiceMock.Object, userServiceMock.Object, imageProcessorServiceMock.Object, fileSaverMock.Object); //Act viewMock.Raise(v => v.EventImageUpload += null, args); //Assert Assert.IsFalse(viewMock.Object.Model.Succeeded); Assert.IsNotNull(viewMock.Object.Model.ErrorMessage); }
public void CallImageProcessorServiceProcessImageTwice_WhenEventIsRaised() { //Arrange var viewMock = new Mock <IUploadImageView>(); viewMock.Setup(v => v.Model).Returns(new UploadImageViewModel()); var imageProcessorServiceMock = new Mock <IImageProcessorService>(); var userServiceMock = new Mock <IUserService>(); var uploadedImageServiceMock = new Mock <IUploadedImageService>(); var fileSaverMock = new Mock <IFileSaverService>(); int anyInt = It.IsAny <int>(); var args = new UploadImageEventArgs() { ContentLength = anyInt, FileName = It.IsAny <string>(), InputStream = Stream.Null }; var presenter = new UploadImagePresenter( viewMock.Object, uploadedImageServiceMock.Object, userServiceMock.Object, imageProcessorServiceMock.Object, fileSaverMock.Object); //Act viewMock.Raise(v => v.EventImageUpload += null, args); //Assert imageProcessorServiceMock.Verify(s => s.ProcessImage( new byte[anyInt], Constants.ThumbnailImageSize, Constants.ThumbnailImageSize, null, Constants.ThumbnailImageQualityPercentage), Times.Once); imageProcessorServiceMock.Verify(s => s.ProcessImage( new byte[anyInt], Constants.LargeImageSize, Constants.LargeImageSize, null, Constants.OriginalImageQualityPercentage), Times.Once); }