示例#1
0
        public async Task WhenThereAreNoSolutionsTheCommandIsNotCalled()
        {
            var cmd    = Substitute.For <IFileRestoreCommand>();
            var folder = Substitute.For <IFolder>();

            var packages = new List <PackageUpdateSet>();

            var solutionRestore = new SolutionsRestore(cmd);

            await solutionRestore.CheckRestore(packages, folder, NuGetSources.GlobalFeed);

            await cmd.DidNotReceiveWithAnyArgs()
            .Invoke(Arg.Any <FileInfo>(), Arg.Any <NuGetSources>());
        }
        public async Task EmptyListCase()
        {
            var selection = Substitute.For <IUpdateSelection>();
            var runner    = Substitute.For <IUpdateRunner>();
            var logger    = Substitute.For <INuKeeperLogger>();
            var folder    = Substitute.For <IFolder>();
            var restorer  = new SolutionsRestore(Substitute.For <IFileRestoreCommand>());

            var updater = new LocalUpdater(selection, runner, restorer, logger);

            await updater.ApplyUpdates(new List <PackageUpdateSet>(),
                                       folder,
                                       NuGetSources.GlobalFeed, Settings());

            await runner.Received(0)
            .Update(Arg.Any <PackageUpdateSet>(), Arg.Any <NuGetSources>());
        }
        public async Task WhenThereIsOneSolutionsTheCommandIsCalled()
        {
            var sln = new FileInfo("foo.sln");

            var cmd    = Substitute.For <IFileRestoreCommand>();
            var folder = Substitute.For <IFolder>();

            folder.Find(Arg.Any <string>()).Returns(new[] { sln });

            var solutionResture = new SolutionsRestore(cmd);

            await solutionResture.Restore(folder);

            await cmd.Received(1).Invoke(Arg.Any <FileInfo>());

            await cmd.Received().Invoke(sln);
        }
示例#4
0
        public async Task WhenThereAreNoMatchingPackagesTheCommandIsNotCalled()
        {
            var packages = PackageUpdates.ForPackageRefType(PackageReferenceType.ProjectFile)
                           .InList();

            var sln = new FileInfo("foo.sln");

            var cmd    = Substitute.For <IFileRestoreCommand>();
            var folder = Substitute.For <IFolder>();

            folder.Find(Arg.Any <string>()).Returns(new[] { sln });

            var solutionRestore = new SolutionsRestore(cmd);

            await solutionRestore.CheckRestore(packages, folder, NuGetSources.GlobalFeed);

            await cmd.DidNotReceiveWithAnyArgs()
            .Invoke(Arg.Any <FileInfo>(), Arg.Any <NuGetSources>());
        }
示例#5
0
        public async Task WhenThereIsOneSolutionsTheCommandIsCalled()
        {
            var packages = PackageUpdates.ForPackageRefType(PackageReferenceType.PackagesConfig)
                           .InList();

            var sln = new FileInfo("foo.sln");

            var cmd    = Substitute.For <IFileRestoreCommand>();
            var folder = Substitute.For <IFolder>();

            folder.Find(Arg.Any <string>()).Returns(new[] { sln });

            var solutionRestore = new SolutionsRestore(cmd);

            await solutionRestore.CheckRestore(packages, folder, NuGetSources.GlobalFeed);

            await cmd.Received(1).Invoke(Arg.Any <FileInfo>(), Arg.Any <NuGetSources>());

            await cmd.Received().Invoke(sln, Arg.Any <NuGetSources>());
        }
        public async Task WhenThereAreTwoSolutionsTheCommandIsCalledForEachOfThem()
        {
            var sln1 = new FileInfo("foo.sln");
            var sln2 = new FileInfo("bar.sln");

            var cmd    = Substitute.For <IFileRestoreCommand>();
            var folder = Substitute.For <IFolder>();

            folder.Find(Arg.Any <string>()).Returns(new[] { sln1, sln2 });

            var solutionResture = new SolutionsRestore(cmd);

            await solutionResture.Restore(folder);

            await cmd.Received(2).Invoke(Arg.Any <FileInfo>());

            await cmd.Received().Invoke(sln1);

            await cmd.Received().Invoke(sln2);
        }
        public async Task SingleItemCase()
        {
            var updates = PackageUpdates.MakeUpdateSet("foo")
                          .InList();

            var selection = Substitute.For <IUpdateSelection>();

            FilterIsPassThrough(selection);


            var runner   = Substitute.For <IUpdateRunner>();
            var logger   = Substitute.For <INuKeeperLogger>();
            var folder   = Substitute.For <IFolder>();
            var restorer = new SolutionsRestore(Substitute.For <IFileRestoreCommand>());

            var updater = new LocalUpdater(selection, runner, restorer, logger);

            await updater.ApplyUpdates(updates, folder, NuGetSources.GlobalFeed, Settings());

            await runner.Received(1)
            .Update(Arg.Any <PackageUpdateSet>(), Arg.Any <NuGetSources>());
        }