Esempio n. 1
0
        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>());
        }