Esempio n. 1
0
        public void SetUp()
        {
            var translationUpdater = new TranslationUpdater(new TranslationFactory(), new ThreadManager());
            var settingsProvider   = Substitute.For <ICurrentSettingsProvider>();

            settingsProvider.SelectedProfile.Returns(new ConversionProfile());

            var settings = new PdfCreatorSettings();

            _httpAccounts = new ObservableCollection <HttpAccount>();
            settings.ApplicationSettings.Accounts.HttpAccounts = _httpAccounts;
            _accountsProvider = Substitute.For <ICurrentSettings <Accounts> >();
            _accountsProvider.Settings.Returns(settings.ApplicationSettings.Accounts);

            var commandLocator = Substitute.For <ICommandLocator>();

            commandLocator.CreateMacroCommand().Returns(x => new MacroCommandBuilder(commandLocator));

            _addCommand = Substitute.For <ICommand>();
            commandLocator.GetCommand <HttpAccountAddCommand>().Returns(_addCommand);
            _editCommand = Substitute.For <ICommand>();
            commandLocator.GetCommand <HttpAccountEditCommand>().Returns(_editCommand);

            _viewModel = new HttpActionViewModel(translationUpdater, _accountsProvider, settingsProvider, commandLocator, null, new GpoSettingsDefaults());
        }
        private PdfCreatorSettings CreateSettings(Data data)
        {
            var settings = new PdfCreatorSettings();

            settings.ReadValues(data, "");
            return(settings);
        }
Esempio n. 3
0
        public void AddPrinterCommand_Execute_PrinterMappingContainsPrinterWithGivenName_DefaultProfileGuidIsAssigned()
        {
            var conversionProfiles = new[]
            {
                new ConversionProfile
                {
                    Guid = ProfileGuids.DEFAULT_PROFILE_GUID
                }
            };

            _settings = new PdfCreatorSettings(null);

            var newPrinterName = "New printer for testing";

            _printerProvider.GetPDFCreatorPrinters().Returns(new[] { newPrinterName });
            var printerTabViewModel = BuildViewModel(conversionProfiles);

            _printerActionAssistant.AddPrinter().Returns <string>(x => newPrinterName);

            printerTabViewModel.AddPrinterCommand.Execute(null);

            Assert.AreEqual(1, printerTabViewModel.PrinterMappings.Count, "Added more or less than one printer");
            Assert.AreEqual(newPrinterName, printerTabViewModel.PrinterMappings[0].PrinterMapping.PrinterName,
                            "Wrong printername");
            Assert.AreEqual(ProfileGuids.DEFAULT_PROFILE_GUID,
                            printerTabViewModel.PrinterMappings[0].PrinterMapping.ProfileGuid,
                            "Did not assign the default profile GUID.");
        }
        private PrintJobViewModel CreateMockedPrintJobViewModel(IJobInfoQueue jobInfoQueue, JobInfo jobInfo, string applicationName = "PDFCreator")
        {
            var appSettings = new ApplicationSettings();
            var profiles    = new List <ConversionProfile>();

            var selectedProfile = new ConversionProfile();

            profiles.Add(selectedProfile);

            var interaction = new PrintJobInteraction(jobInfo, selectedProfile);

            var settings = new PdfCreatorSettings(MockRepository.GenerateStub <IStorage>());

            settings.ApplicationSettings = appSettings;
            settings.ConversionProfiles  = profiles;

            var settingsHelper = Substitute.For <ISettingsProvider>();

            settingsHelper.Settings.Returns(settings);

            var settingsManager = Substitute.For <ISettingsManager>();

            settingsManager.GetSettingsProvider().Returns(settingsHelper);

            var translator = new TranslationFactory();

            var userGuideHelper = Substitute.For <IUserGuideHelper>();

            var printJobViewModel = new PrintJobViewModel(settingsManager, jobInfoQueue, new PrintJobViewModelTranslation(), new DragAndDropEventHandler(MockRepository.GenerateStub <IFileConversionHandler>()), MockRepository.GenerateStub <IInteractionInvoker>(), userGuideHelper, new ApplicationNameProvider(applicationName), new InvokeImmediatelyDispatcher());

            printJobViewModel.SetInteraction(interaction);
            printJobViewModel.FinishInteraction = () => { };

            return(printJobViewModel);
        }
Esempio n. 5
0
        /// <summary>
        ///     Determines the preselected profile for the printer that was used while creating the job
        /// </summary>
        /// <param name="jobInfo">The jobinfo used for the decision</param>
        /// <param name="settings">The settings used for the decision</param>
        /// <returns>The profile that is associated with the printer or the default profile</returns>
        private ConversionProfile PreselectedProfile(JobInfo jobInfo, PdfCreatorSettings settings)
        {
            foreach (var mapping in settings.ApplicationSettings.PrinterMappings)
            {
                if (mapping.PrinterName.Equals(jobInfo.SourceFiles[0].PrinterName, StringComparison.OrdinalIgnoreCase))
                {
                    var p = settings.GetProfileByGuid(mapping.ProfileGuid);
                    if (p != null)
                    {
                        return(p);
                    }
                    break;
                }
            }

            var lastUsedProfile = settings.GetLastUsedProfile();

            if (lastUsedProfile != null)
            {
                return(lastUsedProfile);
            }

            // try default profile
            var defaultProfile = GetDefaultProfile(settings.ConversionProfiles);

            if (defaultProfile != null)
            {
                return(defaultProfile);
            }

            // last resort: first profile from the list
            return(settings.ConversionProfiles[0]);
        }
        private void ApplyProfiles(PdfCreatorSettings currentSettings, PdfCreatorSettings sharedSettings)
        {
            if (!_gpoSettings.LoadSharedProfiles)
            {
                return;
            }

            if (_gpoSettings.AllowUserDefinedProfiles)
            {
                var additionalProfiles = new List <ConversionProfile>();

                foreach (var currentProfile in currentSettings.ConversionProfiles)
                {
                    //do not add current profiles which were previously shared
                    if (!currentProfile.Properties.IsShared && !ProfileExists(currentProfile, sharedSettings.ConversionProfiles))
                    {
                        additionalProfiles.Add(currentProfile);
                    }
                }
                foreach (var profile in additionalProfiles)
                {
                    sharedSettings.ConversionProfiles.Add(profile);
                }
            }

            currentSettings.ConversionProfiles = sharedSettings.ConversionProfiles;
        }
Esempio n. 7
0
        public void SetUp()
        {
            _interactionRequest = new UnitTestInteractionRequest();

            _smtpTest = Substitute.For <ISmtpTest>();

            var translationUpdater = new TranslationUpdater(new TranslationFactory(), new ThreadManager());

            _profile = new ConversionProfile();
            var currentSettingsProvider = Substitute.For <ICurrentSettingsProvider>();

            currentSettingsProvider.SelectedProfile.Returns(_profile);

            var settings = new PdfCreatorSettings(null);

            _smtpAccounts = new ObservableCollection <SmtpAccount>();
            settings.ApplicationSettings.Accounts.SmtpAccounts = _smtpAccounts;
            currentSettingsProvider.Settings.Returns(settings);

            var commandLocator = Substitute.For <ICommandLocator>();

            commandLocator = Substitute.For <ICommandLocator>();
            commandLocator.GetMacroCommand().Returns(x => new MacroCommand(commandLocator));

            _addCommand = Substitute.For <ICommand>();
            commandLocator.GetCommand <SmtpAccountAddCommand>().Returns(_addCommand);
            _editCommand = Substitute.For <ICommand>();
            commandLocator.GetCommand <SmtpAccountEditCommand>().Returns(_editCommand);

            _tokenHelper   = new TokenHelper(new DesignTimeTranslationUpdater());
            _tokenReplacer = _tokenHelper.TokenReplacerWithPlaceHolders;

            _viewModel = new SmtpActionViewModel(_interactionRequest, _smtpTest, translationUpdater, currentSettingsProvider, commandLocator, _tokenHelper);
        }
        public void Setup()
        {
            _invoker        = Substitute.For <IInteractionInvoker>();
            _settingsHelper = Substitute.For <ISettingsProvider>();

            // add printers to settings, so there are missing printers
            var pdfCreatorSettings = new PdfCreatorSettings();

            pdfCreatorSettings.ApplicationSettings.PrinterMappings.Add(new PrinterMapping("Printer1", "1234"));
            pdfCreatorSettings.ApplicationSettings.PrinterMappings.Add(new PrinterMapping("Printer2", "1234"));
            _settingsHelper.Settings.Returns(pdfCreatorSettings);

            _settingsManager = Substitute.For <ISettingsManager>();
            _settingsManager.GetSettingsProvider().Returns(_settingsHelper);

            _dataStorageFactory = Substitute.For <IDataStorageFactory>();
            _storage            = Substitute.For <IStorage>();
            _dataStorageFactory.BuildIniStorage(Arg.Any <string>()).Returns(_storage);

            _printerProvider = Substitute.For <IPrinterProvider>();
            _printerProvider.GetPDFCreatorPrinters().Returns(new List <string>()
            {
                "Printer1", "Printer3"
            });                                                                                              // return printers for unused printer check

            _uacAssistant = Substitute.For <IUacAssistant>();

            _iniSettingsLoader = Substitute.For <IIniSettingsLoader>();
            _iniSettingsLoader.LoadIniSettings(Arg.Any <string>()).Returns(pdfCreatorSettings);

            _creatorIniSettingsAssistant = new CreatorIniSettingsAssistant(_invoker,
                                                                           new TranslationUpdater(new TranslationFactory(), new ThreadManager()), _settingsManager, _dataStorageFactory,
                                                                           _iniSettingsLoader, _printerProvider, _uacAssistant);
        }
        public void SetUp()
        {
            var bootstrapper = new IntegrationTestBootstrapper();
            var container = bootstrapper.ConfigureContainer();
            container.Options.AllowOverridingRegistrations = true;

            _workflowFactory = container.GetInstance<IWorkflowFactory>();
            _jobBuilder = container.GetInstance<IJobBuilder>();

            _interactiveProfile = new ConversionProfile();
            _interactiveProfile.Name = InteractivePrinterName;
            _interactiveProfile.Guid = InteractiveProfileGuid;
            _interactiveProfile.AutoSave.Enabled = false;
            _interactiveProfileMapping = new PrinterMapping(InteractivePrinterName, InteractiveProfileGuid);

            _autosaveProfile = new ConversionProfile();
            _autosaveProfile.Name = AutosaveProfileName;
            _autosaveProfile.Guid = AutosaveProfileGuid;
            _autosaveProfile.AutoSave.Enabled = true;
            _autosaveProfileMapping = new PrinterMapping(AutosavePrinterName, AutosaveProfileGuid);

            _th = container.GetInstance<TestHelper>();
            _th.InitTempFolder("ConversionWorklowTest");
            _th.GenerateGsJob(PSfiles.ThreePDFCreatorTestpages, OutputFormat.Pdf);
            _settings = new PdfCreatorSettings(null);
        }
 private void ApplySettingsProcedure(PdfCreatorSettings settings)
 {
     _settingsManager.ApplyAndSaveSettings(settings);
     _settingsManager.LoadPdfCreatorSettings(); //Load settings to ensure default profile
     _settingsManager.SaveCurrentSettings();    //Save settings again to synch registry with current settings
     SettingsLoaded?.Invoke(this, new SettingsEventArgs(_settingsProvider.Settings));
 }
Esempio n. 11
0
        public void SetUp()
        {
            Assembly a      = Assembly.GetExecutingAssembly();
            string   appDir = Path.GetDirectoryName(a.CodeBase.Replace(@"file:///", ""));

            if (appDir == null)
            {
                throw new InvalidDataException("The app dir may never be null");
            }

            _languagePath = FindTranslationFolder();

            Assert.True(Directory.Exists(_languagePath), "Could not find language path: " + _languagePath);

            _translations = Translator.FindTranslations(_languagePath);

            _settings = new PdfCreatorSettings(new IniStorage());
            _settings.LoadData("settings.ini");

            IAssemblyHelper assemblyHelper = Substitute.For <IAssemblyHelper>();

            assemblyHelper.GetCurrentAssemblyDirectory().Returns(Path.Combine(_languagePath, ".."));

            LoggingHelper.InitConsoleLogger("PDFCreator-TranslationTest", LoggingLevel.Error);
            TranslationHelper.Instance.InitTranslator(_settings.ApplicationSettings.Language, assemblyHelper);
        }
Esempio n. 12
0
        private void AppSettingsButton_OnClick(object sender, RoutedEventArgs e)
        {
            PdfCreatorSettings settings        = SettingsHelper.Settings;
            string             currentLanguage = settings.ApplicationSettings.Language;

            ApplicationSettings tmpSettings = settings.ApplicationSettings.Copy();
            var tmpProperties = settings.ApplicationProperties.Copy();
            var window        = new ApplicationSettingsWindow(tmpSettings, SettingsHelper.GpoSettings, tmpProperties, settings.ConversionProfiles);

            if (window.ShowDialog() == true)
            {
                settings.ApplicationSettings   = tmpSettings;
                settings.ApplicationProperties = tmpProperties;
                if (!string.Equals(currentLanguage, settings.ApplicationSettings.Language, StringComparison.OrdinalIgnoreCase))
                {
                    TranslationHelper.Instance.InitTranslator(settings.ApplicationSettings.Language);
                    TranslationHelper.Instance.TranslatorInstance.Translate(this);
                }
                SettingsHelper.SaveSettings();
            }
            //Translation of profiles are stored in their name property and could have been changed in the AppSettingsWindow
            //To include the current language it must be translated here
            TranslationHelper.Instance.TranslateProfileList(SettingsHelper.Settings.ConversionProfiles);

            LoggingHelper.ChangeLogLevel(settings.ApplicationSettings.LoggingLevel);
        }
        public void CreateNewSettings_SetNewSettings_SettingsAreSetAndEventIsCalled()
        {
            var settings = new PdfCreatorSettings(new XmlStorage());

            settings.ApplicationSettings.PrimaryPrinter = "primaryPrinter";
            _simpleSettingsProvider.Settings.Returns(settings);

            HandleMessageInteraction(interaction => interaction.Response = MessageResponse.Yes);

            var viewModel = BuildModel();

            var wasSettingsLoadedCalled = false;

            viewModel.SettingsLoaded += (sender, args) => wasSettingsLoadedCalled = true;

            (viewModel as RestoreSettingsViewModel).RestoreDefaultSettingsCommand.Execute(null);

            Received.InOrder(() =>
            {
                _settingsManager.ApplyAndSaveSettings(Arg.Any <PdfCreatorSettings>());
                _settingsManager.LoadAllSettings();
                _settingsManager.SaveCurrentSettings();
            });

            Assert.IsTrue(wasSettingsLoadedCalled);
        }
        public void SetUp()
        {
            _job = new Job(new JobInfo(), new ConversionProfile(), new JobTranslations(), new Accounts());
            _job.OutputFilenameTemplate = "MayNotStartWithTempfolder.pdf";
            _job.OutputFiles.Add("NotEmpty.pdf");
            _storedHistory = new List <HistoricJob>();

            _jobHistoryStorage = Substitute.For <IJobHistoryStorage>();
            for (var i = 0; i < _capacity; i++)
            {
                _storedHistory.Add(new HistoricJob(_job));
            }
            _jobHistoryStorage.Load().Returns(_storedHistory);

            var settingsProvider = Substitute.For <ISettingsProvider>();

            _settings = new PdfCreatorSettings(null);
            _settings.ApplicationSettings.JobHistory.Enabled  = true;
            _settings.ApplicationSettings.JobHistory.Capacity = _capacity;
            settingsProvider.Settings.Returns(_settings);

            _tempFolderProvider = Substitute.For <ITempFolderProvider>();
            _tempFolderProvider.TempFolder.Returns(TempFolder);

            _file = Substitute.For <IFile>();
            _file.Exists(Arg.Any <string>()).Returns(true);

            _jobHistoryManager = new JobHistoryManager(settingsProvider, _jobHistoryStorage, _tempFolderProvider, _file);
        }
        public void Setup()
        {
            _invoker = Substitute.For <IInteractionInvoker>();

            IStorage storage            = Substitute.For <IStorage>();
            var      pdfCreatorSettings = new PdfCreatorSettings();

            _gpoSettings = Substitute.For <IGpoSettings>();

            _simpleSettingsProvider = Substitute.For <ISettingsProvider>();
            _simpleSettingsProvider.Settings.Returns(pdfCreatorSettings);
            _settingsManager = Substitute.For <ISettingsManager>();
            _settingsManager.GetSettingsProvider().Returns(_simpleSettingsProvider);

            _iniSettingsAssitant = Substitute.For <IIniSettingsAssistant>();

            _commandLocator = Substitute.For <ICommandLocator>();

            _loadCommand = Substitute.For <ICommand>();
            _loadCommand.When(x => x.Execute(Arg.Any <object>())).Do(info => _iniSettingsAssitant.LoadIniSettings());
            _commandLocator.GetCommand <LoadIniSettingsCommand>().Returns(_loadCommand);

            _saveCommand = Substitute.For <ICommand>();
            _saveCommand.When(x => x.Execute(Arg.Any <object>())).Do(info => _iniSettingsAssitant.SaveIniSettings());
            _commandLocator.GetCommand <SaveSettingsToIniCommand>().Returns(_saveCommand);

            _translationUpdater = new TranslationUpdater(new TranslationFactory(), new ThreadManager());
        }
        public void TitleTemplateTest()
        {
            _th.GenerateGsJob(PSfiles.PDFCreatorTestpage, OutputFormat.Pdf);
            _th.JobInfo.Metadata.PrintJobName = "Title from Job";
            _th.JobInfo.Metadata.PrintJobAuthor = "Author from Job";

            _settings = new PdfCreatorSettings(null);
            _settings.ConversionProfiles.Add(_th.Job.Profile);
            _settings.ConversionProfiles[0].AutoSave.Enabled = true;
            _settings.ConversionProfiles[0].AutoSave.EnsureUniqueFilenames = false;
            _settings.ConversionProfiles[0].TargetDirectory = _th.TmpTestFolder;
            _settings.ConversionProfiles[0].FileNameTemplate = "AutoSaveTestOutput";
            _settings.ConversionProfiles[0].OutputFormat = OutputFormat.Pdf;
            _settings.ConversionProfiles[0].TitleTemplate = "<PrintJobName> by <PrintJobAuthor>";

            var profileChecker = Substitute.For<IProfileChecker>();
            profileChecker.ProfileCheck(Arg.Any<ConversionProfile>(), Arg.Any<Accounts>()).Returns(new ActionResult());

            var job = _jobBuilder.BuildJobFromJobInfo(_th.JobInfo, _settings);
            var autoSaveWorkflow = _workflowFactory.CreateWorkflow(WorkflowModeEnum.Autosave);

            autoSaveWorkflow.RunWorkflow(job);

            var pdf = new PdfReader(job.OutputFiles[0]);
            Assert.AreEqual("Title from Job by Author from Job", pdf.Info["Title"], "Wrong title in PDF Metadata");
        }
Esempio n. 17
0
        public void ApplySharedSettings(PdfCreatorSettings currentSettings)
        {
            if (!_gpoSettings.LoadSharedAppSettings && !_gpoSettings.LoadSharedProfiles)
            {
                return;
            }

            var iniFile = GetSharedSettingsIniFile();

            if (iniFile == null)
            {
                return;
            }

            try
            {
                var sharedSettings = (PdfCreatorSettings)_iniSettingsLoader.LoadIniSettings(iniFile);
                foreach (var profile in sharedSettings.ConversionProfiles)
                {
                    profile.Properties.IsShared = true;
                }

                ApplyAppSettings(currentSettings, sharedSettings);
                ApplyProfiles(currentSettings, sharedSettings);

                _logger.Info("Apply shared settings from '" + iniFile + "'.");
            }
            catch
            {
                _logger.Warn("Could not load settings from '" + iniFile + "'.");
            }
        }
Esempio n. 18
0
        public void TestAutoSave_MultipleOutputFiles_EnsureUniqueFilenamesIsEnabled_OutputFilenamesDoNotExist()
        {
            _th.GenerateGsJob(PSfiles.ThreePDFCreatorTestpages, OutputFormat.Jpeg);
            _th.Job.Profile.AutoSave.Enabled = true;

            _settings = new PdfCreatorSettings(null);
            _settings.ConversionProfiles.Add(_th.Job.Profile);
            _settings.ConversionProfiles[0].AutoSave.EnsureUniqueFilenames = true;
            _settings.ConversionProfiles[0].AutoSave.TargetDirectory       = _th.TmpTestFolder;
            _settings.ConversionProfiles[0].FileNameTemplate = "AutoSaveTestOutput";
            _settings.ConversionProfiles[0].OutputFormat     = OutputFormat.Jpeg;

            var autoSaveWorkflow = BuildConversionWorkflow();

            var expectedOutputFile1 = Path.Combine(_th.TmpTestFolder, "AutoSaveTestOutput1.jpg");
            var expectedOutputFile2 = Path.Combine(_th.TmpTestFolder, "AutoSaveTestOutput2.jpg");
            var expectedOutputFile3 = Path.Combine(_th.TmpTestFolder, "AutoSaveTestOutput3.jpg");

            autoSaveWorkflow.RunWorkflow(_th.Job);

            Assert.IsTrue(File.Exists(expectedOutputFile1), "Expected first outputfile does not exist.");
            Assert.IsTrue(File.Exists(expectedOutputFile2), "Expected second outputfile does not exist.");
            Assert.IsTrue(File.Exists(expectedOutputFile3), "Expected third outputfile does not exist.");

            var fileInfo = new FileInfo(expectedOutputFile1);

            Assert.IsFalse(fileInfo.Length == 0, "Expected first outputfile is empty.");

            fileInfo = new FileInfo(expectedOutputFile2);
            Assert.IsFalse(fileInfo.Length == 0, "Expected second outputfile is empty.");

            fileInfo = new FileInfo(expectedOutputFile3);
            Assert.IsFalse(fileInfo.Length == 0, "Expected third outputfile is empty.");
        }
Esempio n. 19
0
        public void SetUp()
        {
            var tokenHelper        = new TokenHelper(new DesignTimeTranslationUpdater());
            var translationUpdater = new TranslationUpdater(new TranslationFactory(), new ThreadManager());
            var settingsProvider   = Substitute.For <ICurrentSettingsProvider>();

            settingsProvider.SelectedProfile.Returns(new ConversionProfile());

            var settings = new PdfCreatorSettings(null);

            _ftpAccounts = new ObservableCollection <FtpAccount>();
            settings.ApplicationSettings.Accounts.FtpAccounts = _ftpAccounts;
            settingsProvider.Settings.Returns(settings);

            var commandLocator = Substitute.For <ICommandLocator>();

            commandLocator.CreateMacroCommand().Returns(x => new MacroCommandBuilder(commandLocator));

            _addCommand = Substitute.For <ICommand>();
            commandLocator.GetCommand <FtpAccountAddCommand>().Returns(_addCommand);

            _editCommand = Substitute.For <ICommand>();
            commandLocator.GetCommand <FtpAccountEditCommand>().Returns(_editCommand);

            _viewModel = new FtpActionViewModel(tokenHelper, translationUpdater, settingsProvider, commandLocator, new TokenViewModelFactory(settingsProvider, new TokenHelper(new DesignTimeTranslationUpdater())), null);
        }
Esempio n. 20
0
        public void TestAutoSave_SingleOutputFile_EnsureUniqueFilenameIsDisabled_OutputFilenameDoesExist_ExistingFileGetsOverwritten()
        {
            _th.GenerateGsJob(PSfiles.PDFCreatorTestpage, OutputFormat.Pdf);
            _th.Job.Profile.AutoSave.Enabled = true;

            _settings = new PdfCreatorSettings(null);
            _settings.ConversionProfiles.Add(_th.Job.Profile);
            _settings.ConversionProfiles[0].AutoSave.EnsureUniqueFilenames = false;
            _settings.ConversionProfiles[0].AutoSave.TargetDirectory       = _th.TmpTestFolder;
            _settings.ConversionProfiles[0].FileNameTemplate = "AutoSaveTestOutput";
            _settings.ConversionProfiles[0].OutputFormat     = OutputFormat.Pdf;

            //create empty file, that should be overwritten
            var expectedOutputFile = Path.Combine(_th.TmpTestFolder, "AutoSaveTestOutput.pdf");

            CreateFile(expectedOutputFile);

            var autoSaveWorkflow = BuildConversionWorkflow();

            autoSaveWorkflow.RunWorkflow(_th.Job);

            Assert.IsTrue(File.Exists(expectedOutputFile), "Expected outputfile does not exist.");

            var fileInfo = new FileInfo(expectedOutputFile);

            Assert.IsFalse(fileInfo.Length == 0, "Expected outputfile did not overwritte existing (empty) file.");
        }
Esempio n. 21
0
        public void Setup()
        {
            _profile = new ConversionProfile();

            _job = new Job(null, null, null)
            {
                Profile     = _profile,
                OutputFiles = new List <string> {
                    "FirstFile.pdf"
                }
            };

            _fileList = new List <string>();
            _fileList.Add("C:\\Kartoffel.pdf");
            _fileList.Add("C:\\Salat.jpg");
            _fileList.Add("C:\\Marvin.tiff");
            _fileAssoc           = Substitute.For <IFileAssoc>();
            _defaultViewerAction = Substitute.For <IDefaultViewerAction>();
            _commandLocator      = Substitute.For <ICommandLocator>();
            _settingsProvider    = Substitute.For <ISettingsProvider>();
            var pdfCreatorSettings = new PdfCreatorSettings();

            pdfCreatorSettings.ApplicationSettings = new ApplicationSettings();
            pdfCreatorSettings.DefaultViewers.Add(new DefaultViewer {
                IsActive = true, OutputFormat = OutputFormat.Pdf
            });
            _settingsProvider.Settings.Returns(pdfCreatorSettings);
            _interactionInvoker = Substitute.For <IInteractionInvoker>();
        }
Esempio n. 22
0
        public void TestAutoSave_SingleOutputFile_EnsureUniqueFilenameIsEnabled_OutputFilenameDoesExist_OutputfileGetsAppendix()
        {
            _th.GenerateGsJob(PSfiles.PDFCreatorTestpage, OutputFormat.Pdf);
            _th.Job.Profile.AutoSave.Enabled = true;

            _settings = new PdfCreatorSettings(null);
            _settings.ConversionProfiles.Add(_th.Job.Profile);
            _settings.ConversionProfiles[0].AutoSave.EnsureUniqueFilenames = true;
            _settings.ConversionProfiles[0].AutoSave.TargetDirectory       = _th.TmpTestFolder;
            _settings.ConversionProfiles[0].FileNameTemplate = "AutoSaveTestOutput";
            _settings.ConversionProfiles[0].OutputFormat     = OutputFormat.Pdf;

            //create empty file with original output filename
            var existingFile = Path.Combine(_th.TmpTestFolder, "AutoSaveTestOutput.pdf");

            CreateFile(existingFile);

            var expectedOutputFileWithAppendix = Path.Combine(_th.TmpTestFolder, "AutoSaveTestOutput_2.pdf");

            var autoSaveWorkflow = BuildConversionWorkflow();

            autoSaveWorkflow.RunWorkflow(_th.Job);

            Assert.IsTrue(File.Exists(existingFile), "Already existing file with outputfilename does not exist anymore.");
            var fileInfo = new FileInfo(existingFile);

            Assert.IsTrue(fileInfo.Length == 0, "Already existing (empty) file with outputfilename has been overwritten.");

            Assert.IsTrue(File.Exists(expectedOutputFileWithAppendix), "Expected outputfile (with appendix) does not exist.");
            fileInfo = new FileInfo(expectedOutputFileWithAppendix);
            Assert.IsFalse(fileInfo.Length == 0, "Expected outputfile (with appendix) is empty.");
        }
Esempio n. 23
0
        private PrintJobViewModel BuildViewModel(ApplicationSettings appSettings, IList <ConversionProfile> profiles, IJobInfoQueue queue, ConversionProfile preselectedProfile = null)
        {
            var settings = new PdfCreatorSettings(MockRepository.GenerateStub <IStorage>());

            settings.ApplicationSettings = appSettings;
            settings.ConversionProfiles  = profiles;

            var settingsHelper = Substitute.For <ISettingsProvider>();

            settingsHelper.Settings.Returns(settings);

            var settingsManager = Substitute.For <ISettingsManager>();

            settingsManager.GetSettingsProvider().Returns(settingsHelper);

            var userGuideHelper = Substitute.For <IUserGuideHelper>();

            var printJobViewModel = new PrintJobViewModel(settingsManager, queue, new PrintJobViewModelTranslation(), new DragAndDropEventHandler(Substitute.For <IFileConversionHandler>()), MockRepository.GenerateStub <IInteractionInvoker>(), userGuideHelper, new ApplicationNameProvider("PDFCreator"), new InvokeImmediatelyDispatcher());

            var interaction = new PrintJobInteraction(null, preselectedProfile);

            var interactionHelper = new InteractionHelper <PrintJobInteraction>(printJobViewModel, interaction);

            return(printJobViewModel);
        }
        public void Setup()
        {
            _settings           = new PdfCreatorSettings(null);
            _jobInfoQueue       = Substitute.For <IJobInfoQueue>();
            _profileChecker     = Substitute.For <IProfileChecker>();
            _interactionRequest = new UnitTestInteractionRequest();
            _file = Substitute.For <IFile>();

            MockSaveFileDialog(true);

            _pdfProfile = new ConversionProfile
            {
                Name             = "PDF Profile",
                OutputFormat     = OutputFormat.Pdf,
                FileNameTemplate = "X:\\test.pdf"
            };

            _pngProfile = new ConversionProfile
            {
                Name             = "PDF Profile",
                OutputFormat     = OutputFormat.Png,
                FileNameTemplate = "X:\\test.png"
            };

            _settings.ConversionProfiles.Add(_pdfProfile);
            _settings.ConversionProfiles.Add(_pngProfile);
        }
Esempio n. 25
0
        public void Setup()
        {
            _settings           = new PdfCreatorSettings(null);
            _jobInfoQueue       = Substitute.For <IJobInfoQueue>();
            _interactionRequest = new UnitTestInteractionRequest();
            _file                      = Substitute.For <IFile>();
            _directoryHelper           = Substitute.For <IDirectoryHelper>();
            _interactiveProfileChecker = Substitute.For <IInteractiveProfileChecker>();

            _pdfProfile = new ConversionProfile
            {
                Name             = "PDF Profile",
                OutputFormat     = OutputFormat.Pdf,
                FileNameTemplate = "X:\\test.pdf",
                TargetDirectory  = "c:\\Test\\"
            };

            _pngProfile = new ConversionProfile
            {
                Name             = "PDF Profile",
                OutputFormat     = OutputFormat.Png,
                FileNameTemplate = "X:\\test.png",
                TargetDirectory  = "c:\\Test\\"
            };

            _settings.ConversionProfiles.Add(_pdfProfile);
            _settings.ConversionProfiles.Add(_pngProfile);
        }
        public DesignTimeCurrentSettingsProvider()
        {
            Settings = new PdfCreatorSettings();
            Settings.ConversionProfiles.Add(new ConversionProfile());

            Settings.ApplicationSettings.TitleReplacement.AddRange(new[]
            {
                new TitleReplacement(ReplacementType.Start, "start1", ""),
                new TitleReplacement(ReplacementType.Start, "start2", ""),
                new TitleReplacement(ReplacementType.Start, "start3", ""),
                new TitleReplacement(ReplacementType.Start, "start4", ""),
                new TitleReplacement(ReplacementType.Start, "start5", ""),
                new TitleReplacement(ReplacementType.End, "end1", ""),
                new TitleReplacement(ReplacementType.End, "end2", ""),
                new TitleReplacement(ReplacementType.End, "end3", ""),
                new TitleReplacement(ReplacementType.End, "end4", ""),
                new TitleReplacement(ReplacementType.End, "end5", ""),
                new TitleReplacement(ReplacementType.Replace, "all1", ""),
                new TitleReplacement(ReplacementType.Replace, "all2", ""),
                new TitleReplacement(ReplacementType.Replace, "all3", ""),
                new TitleReplacement(ReplacementType.Replace, "all4", ""),
                new TitleReplacement(ReplacementType.Replace, "all5", ""),
                new TitleReplacement(ReplacementType.RegEx, "regex5", ""),
                new TitleReplacement(ReplacementType.RegEx, "regex5", ""),
                new TitleReplacement(ReplacementType.RegEx, "regex5", ""),
                new TitleReplacement(ReplacementType.RegEx, "regex5", ""),
                new TitleReplacement(ReplacementType.RegEx, "regex5", ""),
            });

            SelectedProfile = Settings.ConversionProfiles.First();
            Profiles        = new ObservableCollection <ConversionProfile>(Settings.ConversionProfiles);
        }
Esempio n. 27
0
        public void Setup()
        {
            var translationUpdater = new TranslationUpdater(new TranslationFactory(), new ThreadManager());

            var tokenHelper = new TokenHelper(translationUpdater);

            var settingsProvider = Substitute.For <ICurrentSettingsProvider>();

            settingsProvider.SelectedProfile.Returns(new ConversionProfile());

            var settings = new PdfCreatorSettings(null);

            _dropboxAccounts = new ObservableCollection <DropboxAccount>();
            settings.ApplicationSettings.Accounts.DropboxAccounts = _dropboxAccounts;
            settingsProvider.Settings.Returns(settings);

            var commandLocator = Substitute.For <ICommandLocator>();

            commandLocator = Substitute.For <ICommandLocator>();
            commandLocator.GetMacroCommand().Returns(x => new MacroCommand(commandLocator));

            _addCommand = Substitute.For <ICommand>();
            commandLocator.GetCommand <DropboxAccountAddCommand>().Returns(_addCommand);

            _viewModel = new DropboxUserControlViewModel(tokenHelper, translationUpdater, settingsProvider, commandLocator);
        }
Esempio n. 28
0
 public DesignTimeSettingsProvider()
 {
     Settings = new PdfCreatorSettings();
     Settings.ConversionProfiles.Add(new ConversionProfile {
         Name = "Default profile"
     });
 }
        public void DuringRepair_AllMappedPrintersArePassedToRepairAssistant()
        {
            var settings = new PdfCreatorSettings();

            settings.ApplicationSettings.PrinterMappings.Add(new PrinterMapping("Printer1", ""));
            settings.ApplicationSettings.PrinterMappings.Add(new PrinterMapping("Printer2", ""));

            var settingsLoader = Substitute.For <ISettingsLoader>();

            settingsLoader.LoadPdfCreatorSettings().Returns(settings);

            IEnumerable <string> printersToRepair = null;

            var repairPrinterAssitant = Substitute.For <IRepairPrinterAssistant>();

            repairPrinterAssitant.IsRepairRequired().Returns(true);
            repairPrinterAssitant.TryRepairPrinter(Arg.Any <IEnumerable <string> >()).Returns(x =>
            {
                printersToRepair = x.ArgAt <IEnumerable <string> >(0);
                return(true);
            });

            var printerInstalledCondition = new PrinterInstalledCondition(repairPrinterAssitant, settingsLoader, new TranslationFactory());

            printerInstalledCondition.Check();

            CollectionAssert.AreEquivalent(new[] { "Printer1", "Printer2" }, printersToRepair);
        }
Esempio n. 30
0
        private PrintJobAdapter BuildPrintJobAdapter()
        {
            var settings = new PdfCreatorSettings(null);

            settings.ConversionProfiles = _profiles;
            var settingsProvider = Substitute.For <ISettingsProvider>();

            settingsProvider.Settings.Returns(settings);

            var comWorkflowFactory = Substitute.For <IComWorkflowFactory>();

            comWorkflowFactory.BuildWorkflow(Arg.Any <string>())
            .Returns(x => _conversionWorkflow);

            var jobInfo = new JobInfo
            {
                Metadata = new Metadata(Substitute.For <IVersionHelper>())
                {
                    Title = "Test"
                }
            };

            jobInfo.SourceFiles.Add(new SourceFileInfo());
            _job = new Job(jobInfo, _profiles[0], new JobTranslations(), new Accounts());

            _directory = Substitute.For <IDirectory>();

            var printJobAdapter = new PrintJobAdapter(settingsProvider, comWorkflowFactory, new ThreadPool(), _jobInfoQueue, new ErrorCodeInterpreter(new TranslationFactory()), new PathWrapSafe(), _directory);

            printJobAdapter.Job = _job;

            return(printJobAdapter);
        }