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

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

@ -63,5 +63,26 @@ namespace PackageManagement.Tests @@ -63,5 +63,26 @@ namespace PackageManagement.Tests
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