protected override void ExecuteOverride(object parameter) { this.Owner.CommitTool(); RadBitmap image = this.Owner.Image; RadUpload upload = new RadUpload(); MemoryStream stream = new MemoryStream(); PngFormatProvider png = new PngFormatProvider(); png.Export(image, stream); stream.Seek(0, SeekOrigin.Begin); RadUploadSelectedFile file = new RadUploadSelectedFile(stream, "image" + image.GetHashCode() + ".png"); upload.TargetFolder = "UploadFolder"; upload.UploadServiceUrl = "SampleUploadHandler.ashx"; upload.CurrentSession.SelectedFiles.Add(file); upload.PrepareSelectedFilesForUpload(); upload.UploadFinished += new RoutedEventHandler(upload_UploadFinished); upload.StartUpload(); }
public void OnFileUploaded() { // arrange var vm = new PaperclipsViewModel(); var e = Mock.Create<FileUploadedEventArgs>(Behavior.CallOriginal); var fileInfo = Mock.Create<FileInfo>(Behavior.Loose, Constructor.Mocked); Mock.Arrange(() => fileInfo.Name).Returns("1#.txt"); //var fileInfo = new FileInfo("1#.txt"); var selectedFile = new RadUploadSelectedFile(fileInfo); Mock.Arrange(() => e.SelectedFile).Returns(selectedFile); var called = false; Mock.NonPublic.Arrange(vm, "HandleUploadedFile", new object[] { "1_.txt" }).DoInstead(() => called = true); // act vm.OnFileUploaded(null, e); // assert Assert.IsTrue(called); }
public void OnFilesSelected() { // arrange var vm = new FieldFileViewModel(); var radUpload = new RadUpload(); var called = false; Mock.Arrange(() => radUpload.CancelUpload()).DoInstead(() => called = true); var fileInfo = Mock.Create<FileInfo>(Behavior.CallOriginal); var radUploadSelectedFile = new RadUploadSelectedFile(fileInfo); var e = new FilesSelectedEventArgs(new List<RadUploadSelectedFile> { radUploadSelectedFile }); var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); fileProcess.OriginalFileName = "1.txt"; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); // act vm.OnFilesSelected(radUpload, e); // assert Assert.AreEqual("The process cannot access file '1.txt' because it is being used by another process.", vm.Message); Assert.AreEqual(FileControlMode.NotifyFail, vm.CurrentState); Assert.IsTrue(called); // arrange vm.Message = null; called = false; vm.CurrentState = FileControlMode.Download; Mock.Arrange(() => fileInfo.Directory).Throws<Exception>(); Mock.Arrange(() => radUploadSelectedFile.Size).Returns(1); Mock.NonPublic.Arrange<ulong>(vm, "MaxFileSize").Returns(0); // act vm.OnFilesSelected(radUpload, e); // assert Assert.AreEqual("Maximum file size is 0.0 Mb", vm.Message); Assert.AreEqual(FileControlMode.NotifyFail, vm.CurrentState); Assert.IsTrue(called); // arrage vm.Message = null; called = false; vm.CurrentState = FileControlMode.Download; Mock.NonPublic.Arrange<ulong>(vm, "MaxFileSize").Returns(2); // act vm.OnFilesSelected(radUpload, e); // assert Assert.IsNull(vm.Message); Assert.AreNotEqual(FileControlMode.NotifyFail, vm.CurrentState); Assert.IsFalse(called); }