private ApplicationSettingsViewModel BuildViewModel() { // TODO extend tests based on Edition var licenseChecker = Substitute.For <ILicenseChecker>(); var offlineActivator = Substitute.For <IOfflineActivator>(); var printerHelper = Substitute.For <IPrinterHelper>(); printerHelper.GetApplicablePDFCreatorPrinter(Arg.Any <string>(), Arg.Any <string>()).Returns("PDFCreator"); var settingsHelper = Substitute.For <ISettingsProvider>(); var settingsManager = Substitute.For <ISettingsManager>(); settingsManager.GetSettingsProvider().Returns(settingsHelper); var updateAssistant = Substitute.For <IUpdateAssistant>(); var uacAssistant = Substitute.For <IUacAssistant>(); var process = Substitute.For <IProcessStarter>(); var generalTabViewModel = new GeneralTabViewModel(Substitute.For <ILanguageProvider>(), null, updateAssistant, uacAssistant, Substitute.For <IInteractionInvoker>(), Substitute.For <IOsHelper>(), Substitute.For <IProcessStarter>(), new GeneralTabTranslation()); var printerTabViewModel = new PrinterTabViewModel(printerHelper, null, null, null, printerHelper, new PrinterTabTranslation()); var titleTabViewModel = new TitleTabViewModel(new TitleTabTranslation(), new TranslationFactory()); var debugTabViewModel = new DebugTabViewModel(settingsManager, Substitute.For <ITestPageHelper>(), Substitute.For <IFile>(), Substitute.For <IProcessStarter>(), Substitute.For <IInteractionInvoker>(), printerHelper, Substitute.For <IIniSettingsAssistant>(), new DebugTabTranslation()); var licenseTabViewModel = new LicenseTabViewModel(process, licenseChecker, offlineActivator, null, Substitute.For <IDispatcher>(), new LicenseTabTranslation()); var pdfArchitectTabViewModel = new PdfArchitectTabViewModel(Substitute.For <IPdfArchitectCheck>(), Substitute.For <IProcessStarter>(), new PdfArchitectTabTranslation()); var viewModelBundle = new ApplicationSettingsViewModelBundle(generalTabViewModel, printerTabViewModel, titleTabViewModel, debugTabViewModel, licenseTabViewModel, pdfArchitectTabViewModel); return(new ApplicationSettingsViewModel(viewModelBundle, new TranslationHelper(new DefaultSettingsProvider(), new AssemblyHelper(), new TranslationFactory()), new LicenseOptionProvider(false), new ApplicationSettingsWindowTranslation())); }
public void PrimaryPrinter_SetPrimaryPrinter_RaisesPrimaryPrinterPropertyChanged() { var printerTabViewModel = new PrinterTabViewModel(_applicationSettings, new ConversionProfile[] { }, () => new string[] { }, _translationHelper, null); var propertyListener = new PropertyChangedListenerMock(printerTabViewModel, "PrimaryPrinter"); printerTabViewModel.PrimaryPrinter = "something"; Assert.IsTrue(propertyListener.WasCalled); }
public void UpdatePrimaryPrinter_GivenNameIsPrimaryPrinterInEveryPrinterMappingWrapper() { var printerTabViewModel = new PrinterTabViewModel(_applicationSettings, new ConversionProfile[] { }, () => new string[] { }, _translationHelper, null); const string printerName = "Some funny PrinterName for testing"; printerTabViewModel.UpdatePrimaryPrinter(printerName); Assert.AreEqual(printerName, printerTabViewModel.PrinterMappings[0].PrimaryPrinter, "Wrong primary printer in first PrinterMapping"); Assert.AreEqual(printerName, printerTabViewModel.PrinterMappings[1].PrimaryPrinter, "Wrong primary printer in second PrinterMapping"); }
public ApplicationSettingsViewModelBundle(GeneralTabViewModel generalTabViewModel, PrinterTabViewModel printerTabViewModel, TitleTabViewModel titleTabViewModel, DebugTabViewModel debugTabViewModel, LicenseTabViewModel licenseTabViewModel, PdfArchitectTabViewModel pdfArchitectTabViewModel) { GeneralTabViewModel = generalTabViewModel; PrinterTabViewModel = printerTabViewModel; TitleTabViewModel = titleTabViewModel; DebugTabViewModel = debugTabViewModel; LicenseTabViewModel = licenseTabViewModel; PdfArchitectTabViewModel = pdfArchitectTabViewModel; }
public void RenamePrinterCommand_WithValidPrinter_IsExecutable() { var printerTabViewModel = new PrinterTabViewModel(_applicationSettings, new List <ConversionProfile>(), () => new[] { ExistingPrinter, "Something" }, _translationHelper, null); var view = CollectionViewSource.GetDefaultView(printerTabViewModel.PrinterMappings); view.MoveCurrentToFirst(); Assert.IsTrue(printerTabViewModel.RenamePrinterCommand.CanExecute(null)); }
public void PrimaryPrinter_SetPrimaryPrinter_PrimaryPrinterIsSetInEveryPrinterMappingWrapper() { var printerTabViewModel = new PrinterTabViewModel(_applicationSettings, new ConversionProfile[] { }, () => new string[] { }, _translationHelper, null); var printerName = "some funny printer name (still laughing)"; printerTabViewModel.PrimaryPrinter = printerName; Assert.AreEqual(printerName, printerTabViewModel.PrinterMappings[0].PrimaryPrinter, "Wrong primary printer in first PrinterMapping"); Assert.AreEqual(printerName, printerTabViewModel.PrinterMappings[1].PrimaryPrinter, "Wrong primary printer in second PrinterMapping"); }
public void RenamePrinterCommand_Execute_DeletePrinterActionGetsCalled() { var printerTabViewModel = new PrinterTabViewModel(_applicationSettings, new ConversionProfile[] { }, () => new[] { ExistingPrinter, "Something" }, _translationHelper, null); var wasCalled = false; printerTabViewModel.RenamePrinterAction = (PrinterMappingWrapper printerMapping) => { wasCalled = true; }; printerTabViewModel.RenamePrinterCommand.Execute(null); Assert.IsTrue(wasCalled, "RenameAction was not called."); }
public void EmptyViewModel_SettingPdfCreatorPrinters_RaisesPdfCreatorPrintersPropertyChanged() { var eventStub = MockRepository.GenerateStub <IEventHandler <PropertyChangedEventArgs> >(); var printerTabViewModel = new PrinterTabViewModel(_applicationSettings, new ConversionProfile[] { }, () => new string[] { }, _translationHelper, null); printerTabViewModel.PropertyChanged += eventStub.OnEventRaised; var propertyListener = new PropertyChangedListenerMock(printerTabViewModel, "PdfCreatorPrinters"); printerTabViewModel.PdfCreatorPrinters = new List <string>(); Assert.IsTrue(propertyListener.WasCalled); }
private PrinterTabViewModel BuildViewModel(IList <ConversionProfile> profiles = null) { var settings = new PdfCreatorSettings(null); settings.ApplicationSettings = _applicationSettings; settings.ConversionProfiles.Add(new ConversionProfile()); var printerHelper = Substitute.For <IPrinterHelper>(); printerHelper.GetApplicablePDFCreatorPrinter(Arg.Any <string>(), Arg.Any <string>()).Returns("PDFCreator"); if (profiles != null) { settings.ConversionProfiles = profiles; } var viewModel = new PrinterTabViewModel(_printerProvider, new TranslationProxy(), _printerActionAssistant, null, null, printerHelper); viewModel.SetSettingsAndRaiseNotifications(settings, null); return(viewModel); }
public void AddPrinterCommand_Execute_PrinterMappingContainsPrinterWithGivenName_DefaultProfileGuidIsAssigned() { var conversionProfiles = new[] { new ConversionProfile() { Guid = ProfileGuids.DEFAULT_PROFILE_GUID } }; var newPrinterName = "New printer for testing"; var printerTabViewModel = new PrinterTabViewModel(new ApplicationSettings(), conversionProfiles, () => new[] { newPrinterName }, _translationHelper, null); printerTabViewModel.AddPrinterAction = () => 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."); }
public void PrimaryPrinter_AppSettingsAreNull_ReturnsNull() { var printerTabViewModel = new PrinterTabViewModel(null, new ConversionProfile[] { }, () => new string[] { }, _translationHelper, null); Assert.IsNull(printerTabViewModel.PrimaryPrinter); }