Browse Source

Refresh recent packages when a package is uninstalled.

pull/15/head
mrward 15 years ago
parent
commit
31aa4d74a1
  1. 6
      src/AddIns/Misc/PackageManagement/Project/Src/RecentPackagesViewModel.cs
  2. 21
      src/AddIns/Misc/PackageManagement/Test/Src/RecentPackagesViewModelTests.cs

6
src/AddIns/Misc/PackageManagement/Project/Src/RecentPackagesViewModel.cs

@ -16,6 +16,7 @@ namespace ICSharpCode.PackageManagement
{ {
recentPackageRepository = packageManagementService.RecentPackageRepository; recentPackageRepository = packageManagementService.RecentPackageRepository;
packageManagementService.PackageInstalled += PackageInstalled; packageManagementService.PackageInstalled += PackageInstalled;
packageManagementService.PackageUninstalled += PackageUninstalled;
} }
void PackageInstalled(object sender, EventArgs e) void PackageInstalled(object sender, EventArgs e)
@ -23,6 +24,11 @@ namespace ICSharpCode.PackageManagement
ReadPackages(); ReadPackages();
} }
void PackageUninstalled(object sender, EventArgs e)
{
ReadPackages();
}
protected override IQueryable<IPackage> GetAllPackages() protected override IQueryable<IPackage> GetAllPackages()
{ {
return recentPackageRepository.GetPackages(); return recentPackageRepository.GetPackages();

21
src/AddIns/Misc/PackageManagement/Test/Src/RecentPackagesViewModelTests.cs

@ -63,5 +63,26 @@ namespace PackageManagement.Tests
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels); PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels);
} }
[Test]
public void PackageViewModels_PackageIsUninstalledAfterRecentPackagesDisplayed_PackagesOnDisplayAreUpdated()
{
CreateViewModel();
viewModel.ReadPackages();
CompleteReadPackagesTask();
var package = new FakePackage("Test");
FakePackageRepository repository = packageManagementService.FakeRecentPackageRepository;
repository.FakePackages.Add(package);
ClearReadPackagesTasks();
packageManagementService.FirePackageUninstalled();
CompleteReadPackagesTask();
var expectedPackages = new FakePackage[] {
package
};
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels);
}
} }
} }

Loading…
Cancel
Save