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

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

@ -753,5 +753,24 @@ namespace PackageManagement.Tests @@ -753,5 +753,24 @@ namespace PackageManagement.Tests
IPackageViewModelParent parent = childViewModel.GetParent();
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