예제 #1
0
        public void SetUp()
        {
            _tokenReplacerFactory = Substitute.For <ITokenReplacerFactory>();
            _tokenReplacer        = new TokenReplacer();
            _tokenReplacer.AddStringToken("author", AuthorTokenValue);
            _tokenReplacer.AddStringToken("title", TitleTokenValue);
            _tokenReplacerFactory.BuildTokenReplacerWithoutOutputfiles(Arg.Any <Job>()).Returns(_tokenReplacer);
            _pageNumberCalculator = Substitute.For <IPageNumberCalculator>();
            _userTokenExtractor   = Substitute.For <IUserTokenExtractor>();

            _jobDataUpdater = new JobDataUpdater(_tokenReplacerFactory, _pageNumberCalculator, _userTokenExtractor);

            var jobInfo = new JobInfo();

            jobInfo.Metadata          = new Metadata();
            jobInfo.Metadata.Author   = "<author>";
            jobInfo.Metadata.Title    = "<title>";
            jobInfo.Metadata.Subject  = "Test Subject";
            jobInfo.Metadata.Keywords = "Test Keywords";
            var sfi1 = new SourceFileInfo();

            sfi1.Filename = PSFile1;
            jobInfo.SourceFiles.Add(sfi1);
            var sfi2 = new SourceFileInfo();

            sfi2.Filename = PSFile2;
            jobInfo.SourceFiles.Add(sfi2);

            var profile = new ConversionProfile();

            _job = new Job(jobInfo, profile, new Accounts());

            _userTokenExtractor.ExtractUserTokenFromPsFile(PSFile1, _job.Profile.UserTokens.Seperator).Returns(_userToken1);
            _userTokenExtractor.ExtractUserTokenFromPsFile(PSFile2, _job.Profile.UserTokens.Seperator).Returns(_userToken2);
        }
예제 #2
0
 public ConversionWorkflowTestFactory(IProfileChecker profileChecker, ITargetFileNameComposer targetFileNameComposer, IJobRunner jobRunner, IJobDataUpdater jobDataUpdater, IErrorNotifier errorNotifier)
 {
     _profileChecker         = profileChecker;
     _targetFileNameComposer = targetFileNameComposer;
     _jobRunner      = jobRunner;
     _jobDataUpdater = jobDataUpdater;
     _errorNotifier  = errorNotifier;
 }
 public ConversionWorkflowTestFactory(IProfileChecker profileChecker, ITargetFileNameComposer targetFileNameComposer, IJobRunner jobRunner, IJobDataUpdater jobDataUpdater, AutosaveOutputFileMover outputFileMover)
 {
     _profileChecker         = profileChecker;
     _targetFileNameComposer = targetFileNameComposer;
     _jobRunner       = jobRunner;
     _jobDataUpdater  = jobDataUpdater;
     _outputFileMover = outputFileMover;
 }
예제 #4
0
 public AutoSaveWorkflow(IJobDataUpdater jobDataUpdater, IJobRunner jobRunner, IProfileChecker profileChecker, ITargetFileNameComposer targetFileNameComposer, AutosaveOutputFileMover outputFileMover)
 {
     JobDataUpdater          = jobDataUpdater;
     _jobRunner              = jobRunner;
     _profileChecker         = profileChecker;
     _targetFileNameComposer = targetFileNameComposer;
     _outputFileMover        = outputFileMover;
 }
예제 #5
0
        public PrintJobViewModel(
            ISettingsProvider settingsProvider,
            ITranslationUpdater translationUpdater,
            IJobInfoQueue jobInfoQueue,
            ICommandLocator commandLocator,
            IEventAggregator eventAggregator,
            ISelectedProfileProvider selectedProfileProvider,
            ICurrentSettings <ObservableCollection <ConversionProfile> > profilesProvider,
            IGpoSettings gpoSettings,
            ITargetFilePathComposer targetFilePathComposer,
            IJobInfoManager jobInfoManager,
            IChangeJobCheckAndProceedCommandBuilder changeJobCheckAndProceedCommandBuilder,
            IBrowseFileCommandBuilder browseFileCommandBuilder,
            IDispatcher dispatcher,
            IJobDataUpdater jobDataUpdater)
            : base(translationUpdater)
        {
            GpoSettings              = gpoSettings;
            _settingsProvider        = settingsProvider;
            _commandLocator          = commandLocator;
            _eventAggregator         = eventAggregator;
            _selectedProfileProvider = selectedProfileProvider;
            _profilesProvider        = profilesProvider;
            _targetFilePathComposer  = targetFilePathComposer;
            _jobInfoManager          = jobInfoManager;

            _changeJobCheckAndProceedCommandBuilder = changeJobCheckAndProceedCommandBuilder;
            _dispatcher     = dispatcher;
            _jobDataUpdater = jobDataUpdater;
            _changeJobCheckAndProceedCommandBuilder.Init(() => Job, CallFinishInteraction, () => _lastConfirmedFilePath, s => _lastConfirmedFilePath = s);

            SetOutputFormatCommand = new DelegateCommand <OutputFormat>(SetOutputFormatExecute);

            browseFileCommandBuilder.Init(() => Job, UpdateUiForJobOutputFileTemplate, () => _lastConfirmedFilePath, s => _lastConfirmedFilePath = s);
            BrowseFileCommand = browseFileCommandBuilder.BuildCommand();
            SetupEditProfileCommand(_commandLocator, eventAggregator);

            SetupSaveCommands(translationUpdater);

            EmailCommand = _changeJobCheckAndProceedCommandBuilder.BuildCommand(EnableEmailSettings);
            SetupSendDropDownCommands(translationUpdater);

            MergeCommand = new DelegateCommand(MergeExecute);
            var mergeAllAsyncCommand = new AsyncCommand(MergeAllExecuteAsync, o => jobInfoQueue.Count > 1);

            MergeDropDownCommands = new CommandCollection <PrintJobViewTranslation>(translationUpdater);
            MergeDropDownCommands.AddCommand(mergeAllAsyncCommand, t => t.MergeAll);
            CancelCommand          = new DelegateCommand(CancelExecute);
            CancelDropDownCommands = new CommandCollection <PrintJobViewTranslation>(translationUpdater);
            CancelDropDownCommands.AddCommand(new DelegateCommand(CancelAllExecute, o => jobInfoQueue.Count > 1), t => t.CancelAll);

            DisableSaveTempOnlyCommand = new DelegateCommand(DisableSaveFileTemporary);

            jobInfoQueue.OnNewJobInfo += (sender, args) => UpdateNumberOfPrintJobsHint(jobInfoQueue.Count);
            _jobInfoQueue              = jobInfoQueue;
            UpdateNumberOfPrintJobsHint(jobInfoQueue.Count);
        }
예제 #6
0
 public InteractiveTargetFileNameComposer(IFileNameQuery fileNameQuery, IInteractionInvoker interactionInvoker, IPathUtil pathUtil, ITempFolderProvider tempFolderProvider, IJobDataUpdater jobDataUpdater, IOutputFilenameComposer outputFilenameComposer)
 {
     _fileNameQuery          = fileNameQuery;
     _interactionInvoker     = interactionInvoker;
     _pathUtil               = pathUtil;
     _tempFolderProvider     = tempFolderProvider;
     _jobDataUpdater         = jobDataUpdater;
     _outputFilenameComposer = outputFilenameComposer;
 }
예제 #7
0
 public AutoSaveWorkflow(IJobDataUpdater jobDataUpdater, IJobRunner jobRunner, IProfileChecker profileChecker,
                         ITargetFileNameComposer targetFileNameComposer, AutosaveOutputFileMover outputFileMover, INotificationService notificationService)
 {
     JobDataUpdater          = jobDataUpdater;
     _jobRunner              = jobRunner;
     _profileChecker         = profileChecker;
     _targetFileNameComposer = targetFileNameComposer;
     _outputFileMover        = outputFileMover;
     _notificationService    = notificationService;
 }
예제 #8
0
        public InteractiveWorkflow(IShellManager shellManager, ITargetFileNameComposer targetFileNameComposer, IJobDataUpdater jobDataUpdater, IPathSafe pathSafe, IErrorNotifier errorNotifier, ISettingsProvider settingsProvider, IFileNameQuery saveFileQuery, ICommandLocator commandLocator)
        {
            _shellManager           = shellManager;
            _pathSafe               = pathSafe;
            _errorNotifier          = errorNotifier;
            _settingsProvider       = settingsProvider;
            _saveFileQuery          = saveFileQuery;
            _commandLocator         = commandLocator;
            _targetFileNameComposer = targetFileNameComposer;

            JobDataUpdater          = jobDataUpdater;
            _targetFileNameComposer = targetFileNameComposer;
        }
예제 #9
0
        public InteractiveWorkflow(IShellManager shellManager, ITargetFilePathComposer targetFilePathComposer, IJobDataUpdater jobDataUpdater,
                                   IErrorNotifier errorNotifier, ISettingsProvider settingsProvider,
                                   ICommandLocator commandLocator, ILastSaveDirectoryHelper lastSaveDirectoryHelper,
                                   IDirectoryHelper directoryHelper, IInteractiveProfileChecker interactiveProfileChecker,
                                   IJobEventsManager jobEventsManager
                                   )
        {
            _shellManager              = shellManager;
            _errorNotifier             = errorNotifier;
            _settingsProvider          = settingsProvider;
            _commandLocator            = commandLocator;
            _lastSaveDirectoryHelper   = lastSaveDirectoryHelper;
            _directoryHelper           = directoryHelper;
            _interactiveProfileChecker = interactiveProfileChecker;
            _targetFilePathComposer    = targetFilePathComposer;

            JobDataUpdater          = jobDataUpdater;
            JobEventsManager        = jobEventsManager;
            _targetFilePathComposer = targetFilePathComposer;
        }
예제 #10
0
        public void SetUp()
        {
            _jobInfo = new JobInfo
            {
                Metadata = new Metadata
                {
                    Title = "Test"
                }
            };
            _profile = new ConversionProfile();
            _job     = new Job(_jobInfo, _profile, new JobTranslations(), new Accounts());
            _job.OutputFiles.Add("X:\\test.pdf");
            _profileChecker = Substitute.For <IProfileChecker>();
            _profileChecker.CheckJob(Arg.Any <Job>()).Returns(_validActionResult);

            _query               = Substitute.For <ITargetFileNameComposer>();
            _jobRunner           = Substitute.For <IJobRunner>();
            _jobDataUpdater      = Substitute.For <IJobDataUpdater>();
            _notificationService = Substitute.For <INotificationService>();

            _workflow = new AutoSaveWorkflow(_jobDataUpdater, _jobRunner, _profileChecker, _query, null, _notificationService);
        }