Browse Source

Update installed NuGet packages after updating all packages in dialog.

pull/44/head
Matt Ward 13 years ago
parent
commit
4aa7a3ca10
  1. 11
      src/AddIns/Misc/PackageManagement/Project/Src/InstalledPackagesViewModel.cs
  2. 33
      src/AddIns/Misc/PackageManagement/Test/Src/InstalledPackagesViewModelTests.cs

11
src/AddIns/Misc/PackageManagement/Project/Src/InstalledPackagesViewModel.cs

@ -25,12 +25,18 @@ namespace ICSharpCode.PackageManagement @@ -25,12 +25,18 @@ namespace ICSharpCode.PackageManagement
{
this.solution = solution;
this.packageManagementEvents = packageManagementEvents;
packageManagementEvents.ParentPackageInstalled += InstalledPackagesChanged;
packageManagementEvents.ParentPackageUninstalled += InstalledPackagesChanged;
RegisterEvents();
TryGetActiveProject();
}
void RegisterEvents()
{
packageManagementEvents.ParentPackageInstalled += InstalledPackagesChanged;
packageManagementEvents.ParentPackageUninstalled += InstalledPackagesChanged;
packageManagementEvents.ParentPackagesUpdated += InstalledPackagesChanged;
}
void TryGetActiveProject()
{
try {
@ -49,6 +55,7 @@ namespace ICSharpCode.PackageManagement @@ -49,6 +55,7 @@ namespace ICSharpCode.PackageManagement
{
packageManagementEvents.ParentPackageInstalled -= InstalledPackagesChanged;
packageManagementEvents.ParentPackageUninstalled -= InstalledPackagesChanged;
packageManagementEvents.ParentPackagesUpdated -= InstalledPackagesChanged;
}
protected override IQueryable<IPackage> GetAllPackages()

33
src/AddIns/Misc/PackageManagement/Test/Src/InstalledPackagesViewModelTests.cs

@ -191,5 +191,38 @@ namespace PackageManagement.Tests @@ -191,5 +191,38 @@ namespace PackageManagement.Tests
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels);
}
[Test]
public void PackageViewModels_PackagesUpdated_PackageViewModelsIsUpdated()
{
CreateViewModel();
viewModel.ReadPackages();
CompleteReadPackagesTask();
FakePackage package = AddPackageToProjectLocalRepository();
ClearReadPackagesTasks();
packageManagementEvents.OnParentPackagesUpdated(new FakePackage[] { package });
CompleteReadPackagesTask();
IPackage firstPackage = viewModel.PackageViewModels[0].GetPackage();
Assert.AreEqual(package, firstPackage);
}
[Test]
public void PackageViewModels_PackagesUpdatedAfterViewModelIsDisposed_PackageViewModelsIsNotUpdated()
{
CreateViewModel();
viewModel.ReadPackages();
CompleteReadPackagesTask();
FakePackage package = AddPackageToProjectLocalRepository();
ClearReadPackagesTasks();
viewModel.Dispose();
packageManagementEvents.OnParentPackagesUpdated(new FakePackage[] { package });
CompleteReadPackagesTask();
Assert.AreEqual(0, viewModel.PackageViewModels.Count);
}
}
}

Loading…
Cancel
Save