public void PrinterMappingWrapper_WithMapping_ExposesProfileWithSameGuid()
        {
            var mapping = new PrinterMapping("SomePrinter", "Profile1Guid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            Assert.AreEqual(mapping.ProfileGuid, wrapper.Profile.Guid);
        }
        DeleteProfile_TwoProfiles_ProfileWithPrinterMapping_QueryDeleteProfileWithPrinterMappingReturnsTrue_CurrentProfileGetsDeleted
            ()
        {
            var secondProfile = new ConversionProfile();

            _settings.ConversionProfiles.Add(secondProfile);
            _settings.ApplicationSettings.LastUsedProfileGuid = secondProfile.Guid;
            var printerMapping = new PrinterMapping();

            printerMapping.PrinterName = "fake printer";
            printerMapping.ProfileGuid = _settings.ApplicationSettings.LastUsedProfileGuid;
            _settings.ApplicationSettings.PrinterMappings.Add(printerMapping);

            _profileSettingsViewModel = CreateProfileSettingsViewModel(_settings);

            _interactionInvoker.HandleMessageInteraction = interaction => { interaction.Response = MessageResponse.Yes; };

            _profileSettingsViewModel.DeleteProfileCommand.Execute(null);

            Assert.IsFalse(_profileSettingsViewModel.Settings.ConversionProfiles.Contains(secondProfile),
                           "Current profile has not been deleted.");
            Assert.AreEqual(1, _profileSettingsViewModel.Settings.ConversionProfiles.Count,
                            "Wrong number of profiles after current profile should be deleted.");
            Assert.AreEqual(_originalFirstProfile, _profileSettingsViewModel.CurrentProfile,
                            "CurrentProfile is not the original first profile.");
        }
        public void Execute_ProfileIsMappedToPrinters_MessageWithLinkedPrintersTextAndWarningIcon()
        {
            _settings.ApplicationSettings.PrinterMappings = new ObservableCollection <PrinterMapping>();
            var pm1 = new PrinterMapping("Printer1", _currentProfile.Guid);

            _settings.ApplicationSettings.PrinterMappings.Add(pm1);
            var pm2 = new PrinterMapping("Printer2", "Some other GUID");

            _settings.ApplicationSettings.PrinterMappings.Add(pm2);
            var pm3 = new PrinterMapping("Printer3", _currentProfile.Guid);

            _settings.ApplicationSettings.PrinterMappings.Add(pm3);

            _profileRemoveCommand.Execute(null);

            var interaction = _interactionRequest.AssertWasRaised <MessageInteraction>();

            Assert.AreEqual(MessageIcon.Warning, interaction.Icon);
            var sb = new StringBuilder();

            sb.AppendLine(_currentProfile.Name);
            sb.AppendLine(_translation.RemoveProfileForSure);
            sb.AppendLine();
            sb.AppendLine(_translation.GetProfileIsMappedToMessage(2));
            sb.AppendLine("Printer1");
            sb.AppendLine("Printer3");
            sb.AppendLine();
            sb.AppendLine(_translation.GetPrinterWillBeMappedToMessage(2));
            Assert.AreEqual(sb.ToString(), interaction.Text);
        }
        public void PrinterMappingWrapper_WithMapping_ExposesSamePrinterName()
        {
            var mapping = new PrinterMapping("SomePrinter", "SomeGuid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            Assert.AreEqual(mapping.PrinterName, wrapper.PrinterName);
        }
        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();
        }
        DeleteProfile_TwoProfiles_ProfileWithPrinterMapping_QueryDeleteProfileWithPrinterMappingReturnsFalse_DeletionGetsCanceled
            ()
        {
            var secondProfile = new ConversionProfile();

            _settings.ConversionProfiles.Add(secondProfile);
            _settings.ApplicationSettings.LastUsedProfileGuid = secondProfile.Guid;
            var printerMapping = new PrinterMapping();

            printerMapping.PrinterName = "fake printer";
            printerMapping.ProfileGuid = _settings.ApplicationSettings.LastUsedProfileGuid;
            _settings.ApplicationSettings.PrinterMappings.Add(printerMapping);

            _profileSettingsViewModel = CreateProfileSettingsViewModel(_settings);

            _interactionInvoker.HandleMessageInteraction = interaction => { interaction.Response = MessageResponse.No; };

            _profileSettingsViewModel.DeleteProfileCommand.Execute(null);

            Assert.IsTrue(_profileSettingsViewModel.Settings.ConversionProfiles.Contains(secondProfile),
                          "Current profile was deleted although deletion was canceled.");
            Assert.AreEqual(2, _profileSettingsViewModel.Settings.ConversionProfiles.Count,
                            "Wrong number of profiles after canceled deletion.");
            Assert.AreEqual(secondProfile, _profileSettingsViewModel.CurrentProfile,
                            "Wrong CurrentProfile after canceled deletion.");
        }
Exemple #7
0
        public void PrinterMappingWrapper_WithMapping_ExposesSameObject()
        {
            var mapping = new PrinterMapping();

            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            Assert.AreSame(mapping, wrapper.PrinterMapping);
        }
Exemple #8
0
        public void IsPrimaryPrinter_WithMappedPrinter_IsTrue()
        {
            var mapping = new PrinterMapping("SomePrinter", "SomeGuid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            wrapper.PrimaryPrinter = mapping.PrinterName;

            Assert.IsTrue(wrapper.IsPrimaryPrinter);
        }
Exemple #9
0
        public void PrinterMappingWrapper_ChangingProfile_ChangesWrappedGuid()
        {
            var mapping = new PrinterMapping("SomePrinter", _profile1.Guid);
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            wrapper.Profile = _profile2;

            Assert.AreEqual(_profile2.Guid, mapping.ProfileGuid);
        }
Exemple #10
0
        public void PrinterMappingWrapper_ChangingPrinterName_ReplicatesToWrappedObject()
        {
            var mapping = new PrinterMapping("SomePrinter", "SomeGuid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            wrapper.PrinterName = "OtherPrinter";

            Assert.AreEqual(mapping.PrinterName, wrapper.PrinterName);
        }
Exemple #11
0
        public void PrinterMappingWrapper_ChangingPrinterName_ChangesPrinterName()
        {
            var mapping = new PrinterMapping("SomePrinter", "SomeGuid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            wrapper.PrinterName = "OtherPrinter";

            Assert.AreEqual("OtherPrinter", wrapper.PrinterName);
        }
Exemple #12
0
        public void IsPrimaryPrinter_WithUnknownPrinter_IsFalse()
        {
            var mapping = new PrinterMapping("SomePrinter", "SomeGuid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            wrapper.PrimaryPrinter = "UnknownPrinter";

            Assert.IsFalse(wrapper.IsPrimaryPrinter);
        }
Exemple #13
0
        public void PrinterMappingWrapper_ChangingPrimaryPrinter_RaisesPropertyChangedForIsPrimaryPrinter()
        {
            var mapping = new PrinterMapping("SomePrinter", "SomeGuid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            var wasRaised = false;

            wrapper.PropertyChanged += (sender, args) => { if (args.PropertyName == "IsPrimaryPrinter")
                                                           {
                                                               wasRaised = true;
                                                           }
            };

            wrapper.PrimaryPrinter = "OtherPrinter";

            Assert.IsTrue(wasRaised);
        }
        public void CreateConversionWorkflowTest_PrinterMappingToInvalidProfile_ReturnWorkflowWithDefaultProfile()
        {
            _settings.ApplicationSettings.PrinterMappings.Add(_autosaveProfileMapping);
            _settings.ApplicationSettings.PrinterMappings.Add(_interactiveProfileMapping);
            const string somePrinterName = "somePrinterName";
            const string someProfileGuid = "someProfileNotInProfilesListGuid";
            var somePrinterMapping = new PrinterMapping(somePrinterName, someProfileGuid);
            _settings.ApplicationSettings.PrinterMappings.Add(somePrinterMapping);
            _settings.ConversionProfiles.Add(_autosaveProfile); //For this test the default profile must not be the first in list!
            _interactiveProfile.Guid = "DefaultGuid";
            _settings.ConversionProfiles.Add(_interactiveProfile);

            _th.JobInfo.SourceFiles[0].PrinterName = somePrinterName;

            var job = _jobBuilder.BuildJobFromJobInfo(_th.JobInfo, _settings);
            Assert.AreEqual(_interactiveProfile, job.Profile, "Wrong Profile in Job of workflow.");
        }
        public void PrinterMappingWrapper_ChangingProfile_RaisesPropertyChanged()
        {
            var mapping = new PrinterMapping("SomePrinter", "SomeGuid");
            var wrapper = new PrinterMappingWrapper(mapping, _profiles);

            bool wasRaised = false;

            wrapper.PropertyChanged += (sender, args) => { if (args.PropertyName == "Profile")
                                                           {
                                                               wasRaised = true;
                                                           }
            };

            wrapper.Profile = _profile2;

            Assert.IsTrue(wasRaised);
        }
Exemple #16
0
        public void SetUp()
        {
            _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 = new TestHelper("ConversionWorklowTest");
            _th.GenerateGsJob(PSfiles.ThreePDFCreatorTestpages, OutputFormat.Pdf);
            _settings = new PdfCreatorSettings(null);
        }
        DeleteProfile_TwoProfiles_ProfileWithPrinterMapping_QueryDeleteProfileWithPrinterMappingReturnsFalse_DeletionGetsCanceled
            ()
        {
            var secondProfile = new ConversionProfile();

            _settings.ConversionProfiles.Add(secondProfile);
            _settings.ApplicationSettings.LastUsedProfileGuid = secondProfile.Guid;
            var printerMapping = new PrinterMapping();

            printerMapping.PrinterName = "fake printer";
            printerMapping.ProfileGuid = _settings.ApplicationSettings.LastUsedProfileGuid;
            _settings.ApplicationSettings.PrinterMappings.Add(printerMapping);

            _profileSettingsViewModel = CreateProfileSettingsViewModel(_settings);

            var functionsStub = MockRepository.GenerateStub <ITestFunctions>();

            functionsStub.Stub(x => x.ReturnsBoolWithoutParameters()).Return(false);
            _profileSettingsViewModel.QueryDeleteProfile = functionsStub.ReturnsBoolWithoutParameters;
            functionsStub.Stub(x => x.ReturnsBoolWithTwoStringParameters(secondProfile.Name, printerMapping.PrinterName))
            .Return(false);
            _profileSettingsViewModel.QueryDeleteProfileWithPrinterMapping =
                functionsStub.ReturnsBoolWithTwoStringParameters;

            _profileSettingsViewModel.DeleteProfileCommand.Execute(null);

            functionsStub.AssertWasNotCalled(x => x.ReturnsBoolWithoutParameters()); //QueryDeleteProfile
            functionsStub.AssertWasCalled(
                x => x.ReturnsBoolWithTwoStringParameters(secondProfile.Name, printerMapping.PrinterName),
                options => options.Repeat.Once()); //QueryDeleteProfileWithPrinterMapping

            Assert.IsTrue(_profileSettingsViewModel.Settings.ConversionProfiles.Contains(secondProfile),
                          "Current profile was deleted although deletion was canceled.");
            Assert.AreEqual(2, _profileSettingsViewModel.Settings.ConversionProfiles.Count,
                            "Wrong number of profiles after canceled deletion.");
            Assert.AreEqual(secondProfile, _profileSettingsViewModel.CurrentProfile,
                            "Wrong CurrentProfile after canceled deletion.");
        }
        public void Execute_ProfileIsMappedToPrinters_UserAppliesInteraction_ProfileGetsRemovedPrintersGetMappedToDefaultGuid()
        {
            _settings.ApplicationSettings.PrinterMappings = new ObservableCollection <PrinterMapping>();
            var pm1 = new PrinterMapping("Printer1", _currentProfile.Guid);

            _settings.ApplicationSettings.PrinterMappings.Add(pm1);
            var pm2 = new PrinterMapping("Printer2", "Some other GUID");

            _settings.ApplicationSettings.PrinterMappings.Add(pm2);
            var pm3 = new PrinterMapping("Printer3", _currentProfile.Guid);

            _settings.ApplicationSettings.PrinterMappings.Add(pm3);

            _interactionRequest.RegisterInteractionHandler <MessageInteraction>(i => i.Response = MessageResponse.Yes);

            _profileRemoveCommand.Execute(null);

            Assert.AreEqual(1, _currentSettingsProvider.Profiles.Count);
            Assert.IsFalse(_currentSettingsProvider.Profiles.Contains(_currentProfile));

            Assert.AreEqual(pm1.ProfileGuid, ProfileGuids.DEFAULT_PROFILE_GUID);
            Assert.AreEqual(pm3.ProfileGuid, ProfileGuids.DEFAULT_PROFILE_GUID);
        }
Exemple #19
0
        private IEnumerable <PrinterMapping> GetMappingsFromRegistry()
        {
            var printerMappingsKey = Path.Combine(_installationPathProvider.ApplicationRegistryPath, "Settings\\ApplicationSettings\\PrinterMappings");
            var printerList        = new List <PrinterMapping>();
            var printerRegKey      = Registry.CurrentUser.OpenSubKey(printerMappingsKey);
            var mappingSubKeyNames = printerRegKey?.GetSubKeyNames();

            if (mappingSubKeyNames != null)
            {
                foreach (var subKeyName in mappingSubKeyNames)
                {
                    var key         = Registry.CurrentUser.OpenSubKey(Path.Combine(printerMappingsKey, subKeyName));
                    var printerName = key?.GetValue("PrinterName").ToString();
                    var profileGuid = key?.GetValue("ProfileGuid").ToString();
                    if (!string.IsNullOrEmpty(printerName) & !string.IsNullOrEmpty(profileGuid))
                    {
                        var mapping = new PrinterMapping(printerName, profileGuid);
                        printerList.Add(mapping);
                    }
                }
            }

            return(printerList);
        }
Exemple #20
0
 public PrinterMappingWrapper(PrinterMapping printerMapping, IEnumerable <ConversionProfile> profiles)
 {
     PrinterMapping = printerMapping;
     PrinterName    = printerMapping.PrinterName;
     Profile        = profiles.FirstOrDefault(p => p.Guid == printerMapping.ProfileGuid);
 }