Browse Source

Use NuGet-Operation install HTTP header when manage packages button used.

pull/53/merge
Matt Ward 12 years ago
parent
commit
837c22ee72
  1. 8
      src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs
  2. 48
      src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs

8
src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs

@ -181,9 +181,11 @@ namespace ICSharpCode.PackageManagement @@ -181,9 +181,11 @@ namespace ICSharpCode.PackageManagement
{
ClearReportedMessages();
logger.LogAddingPackage();
using (IDisposable operation = StartInstallOperation(package)) {
TryInstallingPackage();
}
logger.LogAfterPackageOperationCompletes();
}
@ -351,7 +353,11 @@ namespace ICSharpCode.PackageManagement @@ -351,7 +353,11 @@ namespace ICSharpCode.PackageManagement
{
ClearReportedMessages();
logger.LogManagingPackage();
TryInstallingPackagesForSelectedProjects(projects);
using (IDisposable operation = StartInstallOperation(package)) {
TryInstallingPackagesForSelectedProjects(projects);
}
logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded);
}

48
src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs

@ -912,7 +912,7 @@ namespace PackageManagement.Tests @@ -912,7 +912,7 @@ namespace PackageManagement.Tests
string expectedMessage = String.Empty;
string actualMessage = fakeLogger.LastFormattedMessageLogged;
Assert.AreEqual(expectedMessage, actualMessage);
}
@ -1492,5 +1492,51 @@ namespace PackageManagement.Tests @@ -1492,5 +1492,51 @@ namespace PackageManagement.Tests
Assert.AreEqual(RepositoryOperationNames.Install, operationAwareRepository.OperationStarted);
Assert.AreEqual("MyPackage", operationAwareRepository.MainPackageIdForOperationStarted);
}
[Test]
public void ManagePackage_TwoProjectsAndFirstSelectedAndUserAcceptsSelectedProjectsAndSourceRepositoryIsOperationAware_InstallOperationStartedForPackage()
{
CreateViewModelWithTwoProjectsSelected("Project A", "Project B");
UserAcceptsProjectSelection();
fakePackageManagementEvents.ProjectsToSelect.Add("Project A");
var operationAwareRepository = new FakeOperationAwarePackageRepository();
fakePackage.FakePackageRepository = operationAwareRepository;
fakePackage.Id = "MyPackage";
viewModel.ManagePackage();
Assert.AreEqual(RepositoryOperationNames.Install, operationAwareRepository.OperationStarted);
Assert.AreEqual("MyPackage", operationAwareRepository.MainPackageIdForOperationStarted);
}
[Test]
public void ManagePackage_TwoProjectsAndFirstSelectedAndUserAcceptsSelectedProjectsAndSourceRepositoryIsOperationAware_InstallOperationStartedIsDisposed()
{
CreateViewModelWithTwoProjectsSelected("Project A", "Project B");
UserAcceptsProjectSelection();
fakePackageManagementEvents.ProjectsToSelect.Add("Project A");
var operationAwareRepository = new FakeOperationAwarePackageRepository();
fakePackage.FakePackageRepository = operationAwareRepository;
fakePackage.Id = "MyPackage";
viewModel.ManagePackage();
operationAwareRepository.AssertOperationIsDisposed();
}
[Test]
public void ManagePackage_TwoProjectsNeitherSelectedAndSourceRepositoryIsOperationAware_InstallOperationStarted()
{
CreateViewModelWithTwoProjectsSelected("Project A", "Project B");
UserAcceptsProjectSelection();
var operationAwareRepository = new FakeOperationAwarePackageRepository();
fakePackage.FakePackageRepository = operationAwareRepository;
fakePackage.Id = "MyPackage";
viewModel.ManagePackage();
Assert.AreEqual(RepositoryOperationNames.Install, operationAwareRepository.OperationStarted);
Assert.AreEqual("MyPackage", operationAwareRepository.MainPackageIdForOperationStarted);
}
}
}

Loading…
Cancel
Save