Example #1
0
        public void CreateInstance_WhenParametersAreValid()
        {
            var viewMock = new Mock <IUserAvatarView>();
            var userAvatarServiceMock = new Mock <IUserService>();

            UserAvatarPresenter presenter = new UserAvatarPresenter(userAvatarServiceMock.Object, viewMock.Object);

            Assert.IsInstanceOf <UserAvatarPresenter>(presenter);
        }
        public void NeverCallServiceMethod_WhenUploadedFileContentLengtIsValid()
        {
            var    viewMock           = new Mock <IUserAvatarView>();
            var    userService        = new Mock <IUserService>();
            var    mockedUploadedFile = new Mock <HttpPostedFileBase>();
            string filePath           = "path";
            string storageLocation    = "storageLocation";
            string userId             = "id";

            mockedUploadedFile.Setup(x => x.ContentLength).Returns(MaxAvatarSizeInBytes + 1);
            viewMock.Setup(x => x.Model).Returns(new UserUploadPhotoViewModel());

            UserAvatarPresenter presenter = new UserAvatarPresenter(userService.Object, viewMock.Object);

            viewMock.Raise(x => x.UploadAvatar += null,
                           new UserPhotoUploadEventArgs(mockedUploadedFile.Object, filePath, storageLocation, userId));

            userService.Verify(x => x.UploadAvatar(It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
        public void MarkAvatarIsUploadedAsFalse_WhenUploadedFileContentLengtIsNotValid()
        {
            var    viewMock           = new Mock <IUserAvatarView>();
            var    userService        = new Mock <IUserService>();
            var    mockedUploadedFile = new Mock <HttpPostedFileBase>();
            string filePath           = "path";
            string storageLocation    = "storageLocation";
            string userId             = "id";

            mockedUploadedFile.Setup(x => x.ContentLength).Returns(MaxAvatarSizeInBytes + 1);
            viewMock.Setup(x => x.Model).Returns(new UserUploadPhotoViewModel());

            UserAvatarPresenter presenter = new UserAvatarPresenter(userService.Object, viewMock.Object);

            viewMock.Raise(x => x.UploadAvatar += null,
                           new UserPhotoUploadEventArgs(mockedUploadedFile.Object, filePath, storageLocation, userId));

            Assert.IsFalse(viewMock.Object.Model.PhotoIsUploaded);
        }
        public void CallSaveAsOnce_WhenUploadAvatarIsRaised_AndUploadedFileContentLengthIsValid(int validContentLength)
        {
            var viewMock           = new Mock <IUserAvatarView>();
            var userService        = new Mock <IUserService>();
            var mockedUploadedFile = new Mock <HttpPostedFileBase>();

            string filePath        = "path";
            string storageLocation = "storageLocation";
            string userId          = "id";

            mockedUploadedFile.Setup(x => x.ContentLength).Returns(validContentLength);
            viewMock.Setup(x => x.Model).Returns(new UserUploadPhotoViewModel());

            UserAvatarPresenter presenter = new UserAvatarPresenter(userService.Object, viewMock.Object);

            viewMock.Raise(x => x.UploadAvatar += null,
                           new UserPhotoUploadEventArgs(mockedUploadedFile.Object, filePath, storageLocation, userId));

            mockedUploadedFile.Verify(x => x.SaveAs(It.IsAny <string>()), Times.Once);
        }