Browse Source

Fix updated packages from using the wrong active project after a package is installed.

pull/16/merge
Matt Ward 14 years ago
parent
commit
4c5a649507
  1. 7
      src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackagesViewModel.cs
  2. 26
      src/AddIns/Misc/PackageManagement/Test/Src/UpdatedPackagesViewModelTests.cs

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

@ -11,7 +11,7 @@ namespace ICSharpCode.PackageManagement @@ -11,7 +11,7 @@ namespace ICSharpCode.PackageManagement
{
public class UpdatedPackagesViewModel : PackagesViewModel
{
IPackageManagementSolution solution;
PackageManagementSelectedProjects selectedProjects;
UpdatedPackages updatedPackages;
string errorMessage = String.Empty;
@ -29,7 +29,7 @@ namespace ICSharpCode.PackageManagement @@ -29,7 +29,7 @@ namespace ICSharpCode.PackageManagement
}
public UpdatedPackagesViewModel(
IPackageManagementSolution packageManagementService,
IPackageManagementSolution solution,
IRegisteredPackageRepositories registeredPackageRepositories,
UpdatedPackageViewModelFactory packageViewModelFactory,
ITaskFactory taskFactory)
@ -38,7 +38,7 @@ namespace ICSharpCode.PackageManagement @@ -38,7 +38,7 @@ namespace ICSharpCode.PackageManagement
packageViewModelFactory,
taskFactory)
{
this.solution = packageManagementService;
this.selectedProjects = new PackageManagementSelectedProjects(solution);
}
protected override void UpdateRepositoryBeforeReadPackagesTaskStarts()
@ -54,7 +54,6 @@ namespace ICSharpCode.PackageManagement @@ -54,7 +54,6 @@ namespace ICSharpCode.PackageManagement
IQueryable<IPackage> GetInstalledPackages(IPackageRepository aggregateRepository)
{
var selectedProjects = new PackageManagementSelectedProjects(solution);
return selectedProjects.GetInstalledPackages(aggregateRepository);
}

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

@ -158,5 +158,31 @@ namespace PackageManagement.Tests @@ -158,5 +158,31 @@ namespace PackageManagement.Tests
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels);
}
[Test]
public void ReadPackages_SolutionInitiallySelectedWithOneNewerPackageAndProjectSelectedBeforeSecondReadOfPackages_NewerPackageVersionDisplayed()
{
CreateSolution();
NoProjectsSelected();
CreateViewModel(solution);
AddPackageToSolution("1.0.0.0");
FakePackage newerPackage = AddPackageToAggregateRepository("1.1.0.0");
viewModel.ReadPackages();
CompleteReadPackagesTask();
TestableProject msbuildProject = ProjectHelper.CreateTestProject("Test");
solution.FakeActiveMSBuildProject = msbuildProject;
solution.FakeActiveProject = new FakePackageManagementProject("Test");
viewModel.ReadPackages();
CompleteReadPackagesTask();
var expectedPackages = new FakePackage[] {
newerPackage
};
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels);
}
}
}

Loading…
Cancel
Save