Browse Source

Use NuGet-Operation update HTTP header when using Update All button.

pull/53/merge
Matt Ward 12 years ago
parent
commit
87eac5a4af
  1. 14
      src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackagesViewModel.cs
  2. 19
      src/AddIns/Misc/PackageManagement/Test/Src/UpdatedPackagesViewModelTests.cs

14
src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackagesViewModel.cs

@ -84,9 +84,17 @@ namespace ICSharpCode.PackageManagement
protected override void TryUpdatingAllPackages() protected override void TryUpdatingAllPackages()
{ {
var factory = new UpdatePackagesActionFactory(logger, packageManagementEvents); List<IPackageFromRepository> packages = GetPackagesFromViewModels().ToList();
IUpdatePackagesAction action = factory.CreateAction(selectedProjects, GetPackagesFromViewModels()); using (IDisposable operation = StartUpdateOperation(packages.First())) {
ActionRunner.Run(action); var factory = new UpdatePackagesActionFactory(logger, packageManagementEvents);
IUpdatePackagesAction action = factory.CreateAction(selectedProjects, packages);
ActionRunner.Run(action);
}
}
IDisposable StartUpdateOperation(IPackageFromRepository package)
{
return package.Repository.StartUpdateOperation();
} }
IEnumerable<IPackageFromRepository> GetPackagesFromViewModels() IEnumerable<IPackageFromRepository> GetPackagesFromViewModels()

19
src/AddIns/Misc/PackageManagement/Test/Src/UpdatedPackagesViewModelTests.cs

@ -753,5 +753,24 @@ namespace PackageManagement.Tests
IPackageViewModelParent parent = childViewModel.GetParent(); IPackageViewModelParent parent = childViewModel.GetParent();
Assert.AreEqual(viewModel, parent); Assert.AreEqual(viewModel, parent);
} }
[Test]
public void UpdateAllPackagesCommand_SourceRepositoryIsOperationAware_UpdateOperationStartedAndDisposed()
{
CreateViewModel();
var operationAwareRepository = new FakeOperationAwarePackageRepository();
registeredPackageRepositories.FakeActiveRepository = operationAwareRepository;
AddPackageToLocalRepository("Test", "1.0.0.0");
AddPackageToActiveRepository("Test", "1.0.0.0");
FakePackage newerPackage = AddPackageToActiveRepository("Test", "1.1.0.0");
viewModel.ReadPackages();
CompleteReadPackagesTask();
RunUpdateAllPackagesCommand();
Assert.AreEqual(RepositoryOperationNames.Update, operationAwareRepository.OperationStarted);
Assert.IsNull(operationAwareRepository.MainPackageIdForOperationStarted);
operationAwareRepository.AssertOperationIsDisposed();
}
} }
} }

Loading…
Cancel
Save