public void SingleFile_FirstAttemptToCopyFails_OnRetypeOutputFilenameGetsCalled_CancelInRetypeFilename_JobOutFilesAreEmpty() { var fileStub = new FailingFileCopy(1); var outputFileMover = BuildInteractiveFileMover(fileStub); _job.Profile.AutoSave.Enabled = false; _job.Profile.OutputFormat = OutputFormat.Pdf; _retypeQuery.RetypeFileName(Arg.Any <Job>()).Returns(new QueryResult <string>(false, null)); _job.TempOutputFiles = _singleTempOutputfile; Assert.Throws <AbortWorkflowException>(() => outputFileMover.MoveOutputFiles(_job)); Assert.AreEqual(1, _retypeQuery.ReceivedCalls().Count(), "RetypeOutputFilename was called more than once"); Assert.IsEmpty(_job.OutputFiles, "Outputfiles are not empty."); }
public void OnRetry_CallsDispatcherToQuery() { var fileStub = new FailingFileCopy(3); var dispatcher = Substitute.For <IDispatcher>(); dispatcher.InvokeAsync <QueryResult <string> >(null).ReturnsForAnyArgs(x => Task.Run(x.Arg <Func <QueryResult <string> > >())); var outputFileMover = BuildInteractiveFileMover(fileStub, dispatcher); _job.Profile.AutoSave.Enabled = false; _job.Profile.OutputFormat = OutputFormat.Pdf; _job.TempOutputFiles = _singleTempOutputfile; outputFileMover.MoveOutputFiles(_job); dispatcher.ReceivedWithAnyArgs().InvokeAsync <QueryResult <string> >(null); }
public void SingleFile_ThreeAttemptsToCopyFail_OnRetypeOutputFilenameGetsCalled_NewValueForOutputFilenameTemplateAndOutputfile() { var fileStub = new FailingFileCopy(3); var outputFileMover = BuildInteractiveFileMover(fileStub); _job.Profile.AutoSave.Enabled = false; _job.Profile.OutputFormat = OutputFormat.Pdf; _job.TempOutputFiles = _singleTempOutputfile; outputFileMover.MoveOutputFiles(_job); Assert.AreEqual(3, _retypeQuery.ReceivedCalls().Count(), "RetypeOutputFilename was called more than once"); Assert.AreEqual(RetypedFilename + "3.pdf", _job.OutputFilenameTemplate, "OutputFilenameTemplate is not the one from RetypeOutputFilename"); Assert.AreEqual(RetypedFilename + "3" + ".pdf", _job.OutputFiles[0], "First outputfile is not the one from RetypeOutputFilename"); }
public void MoveOutFiles_MultipleFilesInteractive_FirstThreeAttemptsToCopyFirstFileFail_OnRetypeOutputFilenameGetsCalledTriple_NewValueForOutputFilenameTemplateAndOutputfile() { var fileStub = new FailingFileCopy(3); var outputFileMover = BuildInteractiveFileMover(fileStub); _job.Profile.AutoSave.Enabled = false; _job.Profile.OutputFormat = OutputFormat.Png; _job.TempOutputFiles = _multipleTempOutputFiles; outputFileMover.MoveOutputFiles(_job); Assert.AreEqual(3, _retypeQuery.ReceivedCalls().Count(), "RetypeOutputFilename was called more than once"); Assert.AreEqual($"{RetypedFilename}3.png", _job.OutputFilenameTemplate, "OutputFilenameTemplate is not the one from RetypeOutputFilename"); Assert.AreEqual($"{RetypedFilename}3" + "1" + ".png", _job.OutputFiles[0], "First outputfile is not the one from RetypeOutputFilename"); Assert.AreEqual($"{RetypedFilename}3" + "2" + ".png", _job.OutputFiles[1], "Second outputfile is not the one from RetypeOutputFilename"); Assert.AreEqual($"{RetypedFilename}3" + "3" + ".png", _job.OutputFiles[2], "Third outputfile is not the one from RetypeOutputFilename"); }