Browse Source

PackageManagement.Test

pull/374/head
Dragan 12 years ago
parent
commit
8e2c71ec98
  1. 4
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageManagementEvents.cs
  2. 13
      src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs
  3. 41
      src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs

4
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageManagementEvents.cs

@ -66,6 +66,8 @@ namespace PackageManagement.Tests.Helpers @@ -66,6 +66,8 @@ namespace PackageManagement.Tests.Helpers
return OnAcceptLicensesReturnValue;
}
public PackageViewModel PackageViewModel;
public IPackage PackagePassedToOnParentPackageInstalled;
public bool IsOnParentPackageInstalledCalled;
@ -73,6 +75,7 @@ namespace PackageManagement.Tests.Helpers @@ -73,6 +75,7 @@ namespace PackageManagement.Tests.Helpers
{
PackagePassedToOnParentPackageInstalled = package;
IsOnParentPackageInstalledCalled = true;
if (PackageViewModel != null) PackageViewModel.PackageChanged();
}
public IPackage PackagePassedToOnParentPackageUninstalled;
@ -80,6 +83,7 @@ namespace PackageManagement.Tests.Helpers @@ -80,6 +83,7 @@ namespace PackageManagement.Tests.Helpers
public void OnParentPackageUninstalled(IPackage package)
{
PackagePassedToOnParentPackageUninstalled = package;
if (PackageViewModel != null) PackageViewModel.PackageChanged();
}
public MessageLevel MessageLevelPassedToOnPackageOperationMessageLogged;

13
src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs

@ -617,16 +617,17 @@ namespace PackageManagement.Tests @@ -617,16 +617,17 @@ namespace PackageManagement.Tests
fakeProjectFactory.CreatePackageManagementProject = (repository, msbuildProject) => {
return project;
};
FakePackage notInstalledPackage = FakePackage.CreatePackageWithVersion("NotInstalled", "1.0.0.0");
fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(notInstalledPackage);
FakePackage installedPackage = FakePackage.CreatePackageWithVersion("Installed", "1.0.0.0");
fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(installedPackage);
project.FakePackages.Add(installedPackage);
FakePackage installedSolutionPackage = FakePackage.CreatePackageWithVersion("SolutionPackage", "1.0.0.0");
fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(installedSolutionPackage);
FakePackage installedProjectPackage = FakePackage.CreatePackageWithVersion("ProjectPackage", "1.0.0.0");
fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(installedProjectPackage);
project.FakePackages.Add(installedProjectPackage);
IQueryable<IPackage> packages = solution.GetInstalledPackages();
var expectedPackages = new FakePackage[] {
installedPackage
installedSolutionPackage,
installedProjectPackage
};
Assert.AreEqual(expectedPackages, packages);

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

@ -220,27 +220,27 @@ namespace PackageManagement.Tests @@ -220,27 +220,27 @@ namespace PackageManagement.Tests
}
[Test]
[Ignore("Property is not changed. Event OnParentPackageInstalled is fired")]
public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
{
Assert.Ignore("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel();
viewModel.AddOneFakeInstallPackageOperationForViewModelPackage();
string propertyChangedName = null;
viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName;
viewModel.AddPackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
Assert.Inconclusive("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageInstalled(viewModel.FakePackage);
Assert.AreEqual("IsAdded", propertyChangedName);
}
[Test]
[Ignore("Property is not changed. Event OnParentPackageInstalled is fired")]
public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredAfterPackageInstalled()
{
Assert.Ignore("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel();
IPackage packagePassedToInstallPackageWhenPropertyNameChanged = null;
viewModel.PropertyChanged += (sender, e) => {
@ -249,6 +249,11 @@ namespace PackageManagement.Tests @@ -249,6 +249,11 @@ namespace PackageManagement.Tests
};
viewModel.AddPackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
Assert.Inconclusive("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageInstalled(viewModel.FakePackage);
Assert.AreEqual(fakePackage, packagePassedToInstallPackageWhenPropertyNameChanged);
}
@ -343,25 +348,24 @@ namespace PackageManagement.Tests @@ -343,25 +348,24 @@ namespace PackageManagement.Tests
}
[Test]
[Ignore("Property is not changed. Event OnParentPackageUninstalled is fired")]
public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
{
Assert.Ignore("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel();
string propertyChangedName = null;
viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName;
viewModel.RemovePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
Assert.Inconclusive("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageUninstalled(viewModel.FakePackage);
Assert.AreEqual("IsAdded", propertyChangedName);
}
[Test]
[Ignore("Property is not changed. Event OnParentPackageUninstalled is fired")]
public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredAfterPackageUninstalled()
{
Assert.Ignore("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel();
IPackage packagePassedToUninstallPackageWhenPropertyNameChanged = null;
viewModel.PropertyChanged += (sender, e) => {
@ -369,6 +373,11 @@ namespace PackageManagement.Tests @@ -369,6 +373,11 @@ namespace PackageManagement.Tests
};
viewModel.RemovePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
Assert.Inconclusive("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageUninstalled(viewModel.FakePackage);
Assert.AreEqual(fakePackage, packagePassedToUninstallPackageWhenPropertyNameChanged);
}
@ -910,11 +919,8 @@ namespace PackageManagement.Tests @@ -910,11 +919,8 @@ namespace PackageManagement.Tests
}
[Test]
[Ignore("Property is not changed. Event OnParentPackageInstalled is fired")]
public void ManagePackage_TwoProjectsSelectedAndUserAcceptsSelectedProjects_IsAddedPropertyChanged()
{
Assert.Ignore("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModelWithTwoProjectsSelected("Project A", "Project B");
viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project A");
viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project B");
@ -925,6 +931,11 @@ namespace PackageManagement.Tests @@ -925,6 +931,11 @@ namespace PackageManagement.Tests
viewModel.ManagePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
Assert.Inconclusive("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageInstalled(viewModel.FakePackage);
Assert.AreEqual("IsAdded", propertyChangedName);
}

Loading…
Cancel
Save