Browse Source

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

pull/53/merge
Matt Ward 13 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
{ {
ClearReportedMessages(); ClearReportedMessages();
logger.LogAddingPackage(); logger.LogAddingPackage();
using (IDisposable operation = StartInstallOperation(package)) { using (IDisposable operation = StartInstallOperation(package)) {
TryInstallingPackage(); TryInstallingPackage();
} }
logger.LogAfterPackageOperationCompletes(); logger.LogAfterPackageOperationCompletes();
} }
@ -351,7 +353,11 @@ namespace ICSharpCode.PackageManagement
{ {
ClearReportedMessages(); ClearReportedMessages();
logger.LogManagingPackage(); logger.LogManagingPackage();
TryInstallingPackagesForSelectedProjects(projects);
using (IDisposable operation = StartInstallOperation(package)) {
TryInstallingPackagesForSelectedProjects(projects);
}
logger.LogAfterPackageOperationCompletes(); logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded); OnPropertyChanged(model => model.IsAdded);
} }

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

@ -912,7 +912,7 @@ namespace PackageManagement.Tests
string expectedMessage = String.Empty; string expectedMessage = String.Empty;
string actualMessage = fakeLogger.LastFormattedMessageLogged; string actualMessage = fakeLogger.LastFormattedMessageLogged;
Assert.AreEqual(expectedMessage, actualMessage); Assert.AreEqual(expectedMessage, actualMessage);
} }
@ -1492,5 +1492,51 @@ namespace PackageManagement.Tests
Assert.AreEqual(RepositoryOperationNames.Install, operationAwareRepository.OperationStarted); Assert.AreEqual(RepositoryOperationNames.Install, operationAwareRepository.OperationStarted);
Assert.AreEqual("MyPackage", operationAwareRepository.MainPackageIdForOperationStarted); 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