public void TryRepairPrinter_UserAgrees_RepairsPrinter() { var isRepaired = false; _printerHelper.GetPDFCreatorPrinters().Returns(x => isRepaired ? new[] { "PDFCreator" } : new string[] { }); _shellExecuteHelper .When(x => x.RunAsAdmin(Arg.Any <string>(), Arg.Any <string>())) .Do(x => { isRepaired = true; }); HandleMessageInteraction(MessageOptions.YesNo, _applicationTranslation.RepairPrinterAskUserUac, interaction => interaction.Response = MessageResponse.Yes); _file.Exists(_printerHelperPath).Returns(true); var repairPrinter = BuildRepairPrinterAssistant(); var result = repairPrinter.TryRepairPrinter(new[] { "PDFCreator" }); _shellExecuteHelper.Received() .RunAsAdmin(Arg.Any <string>(), "/RepairPrinter \"PDFCreator\" /PortApplication \"" + _pdfcreatorPath + "\""); Assert.IsTrue(result); }
public void TryRepairSpoolPath_WhenTryingToRepair_ShellExecuteHelperIsCalled() { MessageInteraction interaction; _interactionInvoker .When(x => x.Invoke(Arg.Any <MessageInteraction>())) .Do(x => { interaction = x.ArgAt <MessageInteraction>(0); interaction.Response = MessageResponse.Yes; }); var repairSpoolFolderAssistant = BuildRepairSpoolFolderAssistant(); repairSpoolFolderAssistant.TryRepairSpoolPath(); _shellExecuteHelper.Received().RunAsAdmin(RepairToolPath, Arg.Any <string>()); }