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); }
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>()); }
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>()); }