|
|
|
|
@ -18,14 +18,37 @@ namespace PackageManagement.Tests
@@ -18,14 +18,37 @@ namespace PackageManagement.Tests
|
|
|
|
|
public class PackagesViewModelTests |
|
|
|
|
{ |
|
|
|
|
TestablePackagesViewModel viewModel; |
|
|
|
|
FakeTaskFactory taskFactory; |
|
|
|
|
FakePackageManagementService packageManagementService; |
|
|
|
|
|
|
|
|
|
void CreateViewModel(FakePackageManagementService packageManagementService) |
|
|
|
|
{ |
|
|
|
|
viewModel = new TestablePackagesViewModel(packageManagementService); |
|
|
|
|
this.packageManagementService = packageManagementService; |
|
|
|
|
taskFactory = viewModel.FakeTaskFactory; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void CreateViewModel() |
|
|
|
|
{ |
|
|
|
|
viewModel = new TestablePackagesViewModel(); |
|
|
|
|
packageManagementService = viewModel.FakePackageManagementService; |
|
|
|
|
CreatePackageManagementService(); |
|
|
|
|
CreateViewModel(packageManagementService); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void CreatePackageManagementService() |
|
|
|
|
{ |
|
|
|
|
packageManagementService = new FakePackageManagementService(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void CompleteReadPackagesTask() |
|
|
|
|
{ |
|
|
|
|
taskFactory.ExecuteAllFakeTasks(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ClearReadPackagesTasks() |
|
|
|
|
{ |
|
|
|
|
taskFactory.ClearAllFakeTasks(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void IsPaged_OnePackageAndPageSizeIsFive_ReturnsFalse() |
|
|
|
|
{ |
|
|
|
|
@ -33,6 +56,7 @@ namespace PackageManagement.Tests
@@ -33,6 +56,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
bool paged = viewModel.IsPaged; |
|
|
|
|
|
|
|
|
|
@ -46,6 +70,7 @@ namespace PackageManagement.Tests
@@ -46,6 +70,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
bool paged = viewModel.IsPaged; |
|
|
|
|
|
|
|
|
|
@ -69,6 +94,7 @@ namespace PackageManagement.Tests
@@ -69,6 +94,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.HasPreviousPage); |
|
|
|
|
@ -81,6 +107,7 @@ namespace PackageManagement.Tests
@@ -81,6 +107,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.HasPreviousPage); |
|
|
|
|
@ -94,6 +121,7 @@ namespace PackageManagement.Tests
@@ -94,6 +121,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
PropertyChangedEventArgs propertyChangedEvent = null; |
|
|
|
|
viewModel.PropertyChanged += (sender, e) => propertyChangedEvent = e; |
|
|
|
|
@ -111,6 +139,7 @@ namespace PackageManagement.Tests
@@ -111,6 +139,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.HasNextPage); |
|
|
|
|
@ -123,6 +152,7 @@ namespace PackageManagement.Tests
@@ -123,6 +152,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.HasNextPage); |
|
|
|
|
@ -135,6 +165,7 @@ namespace PackageManagement.Tests
@@ -135,6 +165,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.HasNextPage); |
|
|
|
|
@ -147,6 +178,7 @@ namespace PackageManagement.Tests
@@ -147,6 +178,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
Page[] expectedPages = new Page[] { |
|
|
|
|
@ -166,6 +198,7 @@ namespace PackageManagement.Tests
@@ -166,6 +198,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
|
|
|
|
|
Page[] expectedPages = new Page[] { |
|
|
|
|
@ -185,6 +218,7 @@ namespace PackageManagement.Tests
@@ -185,6 +218,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
|
|
|
|
|
Page[] expectedPages = new Page[] { |
|
|
|
|
@ -205,6 +239,7 @@ namespace PackageManagement.Tests
@@ -205,6 +239,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
viewModel.MaximumSelectablePages = 2; |
|
|
|
|
|
|
|
|
|
@ -225,6 +260,7 @@ namespace PackageManagement.Tests
@@ -225,6 +260,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
|
|
|
|
|
Page[] expectedPages = new Page[] { |
|
|
|
|
@ -245,6 +281,7 @@ namespace PackageManagement.Tests
@@ -245,6 +281,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 3; |
|
|
|
|
viewModel.MaximumSelectablePages = 2; |
|
|
|
|
|
|
|
|
|
@ -265,6 +302,7 @@ namespace PackageManagement.Tests
@@ -265,6 +302,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddTenFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 5; |
|
|
|
|
viewModel.MaximumSelectablePages = 3; |
|
|
|
|
|
|
|
|
|
@ -287,12 +325,15 @@ namespace PackageManagement.Tests
@@ -287,12 +325,15 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
viewModel.AddThreeFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
var expectedPackages = new List<FakePackage>(); |
|
|
|
|
expectedPackages.Add(viewModel.FakePackages[0]); |
|
|
|
|
expectedPackages.Add(viewModel.FakePackages[1]); |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels); |
|
|
|
|
} |
|
|
|
|
@ -305,13 +346,16 @@ namespace PackageManagement.Tests
@@ -305,13 +346,16 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
var expectedPackages = new List<FakePackage>(); |
|
|
|
|
expectedPackages.Add(viewModel.FakePackages[0]); |
|
|
|
|
expectedPackages.Add(viewModel.FakePackages[1]); |
|
|
|
|
expectedPackages.Add(viewModel.FakePackages[2]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels); |
|
|
|
|
} |
|
|
|
|
@ -323,6 +367,7 @@ namespace PackageManagement.Tests
@@ -323,6 +367,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 10; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
int oldPageCount = viewModel.Pages.Count; |
|
|
|
|
viewModel.PageSize = 5; |
|
|
|
|
@ -340,9 +385,12 @@ namespace PackageManagement.Tests
@@ -340,9 +385,12 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
var oldPages = viewModel.Pages; |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
var newPages = viewModel.Pages; |
|
|
|
|
|
|
|
|
|
Page[] expectedPages = new Page[] { |
|
|
|
|
@ -361,6 +409,7 @@ namespace PackageManagement.Tests
@@ -361,6 +409,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
viewModel.ShowNextPageCommand.Execute(null); |
|
|
|
|
|
|
|
|
|
@ -377,8 +426,11 @@ namespace PackageManagement.Tests
@@ -377,8 +426,11 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.SelectedPageNumber = 1; |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
viewModel.ShowNextPageCommand.Execute(null); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
var expectedPackages = new List<FakePackage>(); |
|
|
|
|
expectedPackages.Add(viewModel.FakePackages[2]); |
|
|
|
|
@ -393,6 +445,7 @@ namespace PackageManagement.Tests
@@ -393,6 +445,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 3; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
viewModel.ShowPreviousPageCommand.Execute(null); |
|
|
|
|
@ -409,9 +462,12 @@ namespace PackageManagement.Tests
@@ -409,9 +462,12 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.AddThreeFakePackages(); |
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
|
|
|
|
|
viewModel.ShowPreviousPageCommand.Execute(null); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
var expectedPackages = new List<FakePackage>(); |
|
|
|
|
expectedPackages.Add(viewModel.FakePackages[0]); |
|
|
|
|
@ -427,6 +483,7 @@ namespace PackageManagement.Tests
@@ -427,6 +483,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
int pageNumber = 1; |
|
|
|
|
@ -443,6 +500,7 @@ namespace PackageManagement.Tests
@@ -443,6 +500,7 @@ namespace PackageManagement.Tests
|
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
bool result = viewModel.IsPaged; |
|
|
|
|
int count = viewModel.Pages.Count; |
|
|
|
|
|
|
|
|
|
@ -455,9 +513,15 @@ namespace PackageManagement.Tests
@@ -455,9 +513,15 @@ namespace PackageManagement.Tests
|
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.PageSize = 3; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
int count = 0; |
|
|
|
|
viewModel.PropertyChanged += (sender, e) => count++; |
|
|
|
|
@ -497,9 +561,12 @@ namespace PackageManagement.Tests
@@ -497,9 +561,12 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.FakePackages.Add(package); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
viewModel.SearchTerms = "SearchedForId"; |
|
|
|
|
viewModel.SearchCommand.Execute(null); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
var expectedPackages = new FakePackage[] { |
|
|
|
|
package |
|
|
|
|
@ -572,11 +639,14 @@ namespace PackageManagement.Tests
@@ -572,11 +639,14 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.FakePackages.Add(package); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
ObservableCollection<Page> pages = viewModel.Pages; |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
viewModel.SearchTerms = "SearchedForId"; |
|
|
|
|
viewModel.Search(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
var expectedPages = new Page[] { |
|
|
|
|
new Page() { Number = 1, IsSelected = true } |
|
|
|
|
@ -641,11 +711,14 @@ namespace PackageManagement.Tests
@@ -641,11 +711,14 @@ namespace PackageManagement.Tests
|
|
|
|
|
}; |
|
|
|
|
viewModel.FakePackages.Add(package); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
viewModel.SearchTerms = "SearchedForId"; |
|
|
|
|
viewModel.Search(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(1, viewModel.SelectedPageNumber); |
|
|
|
|
} |
|
|
|
|
@ -656,15 +729,16 @@ namespace PackageManagement.Tests
@@ -656,15 +729,16 @@ namespace PackageManagement.Tests
|
|
|
|
|
/// if this is not done when we only want 30 retrieved in one go.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_SixPackagesInRepository_TotalPagesSetBeforePackagesFiltered() |
|
|
|
|
public void ReadPackages_SixPackagesInRepository_TotalItemsSetBeforePackagesFiltered() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
int expectedPages = 3; |
|
|
|
|
Assert.AreEqual(expectedPages, viewModel.PageCountBeforePackagesFiltered); |
|
|
|
|
int expectedTotal = 6; |
|
|
|
|
Assert.AreEqual(expectedTotal, viewModel.TotalItems); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
@ -674,12 +748,15 @@ namespace PackageManagement.Tests
@@ -674,12 +748,15 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
viewModel.SearchTerms = "SearchedForId"; |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
bool paged = true; |
|
|
|
|
viewModel.PropertyChanged += (sender, e) => paged = viewModel.IsPaged; |
|
|
|
|
viewModel.Search(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(paged); |
|
|
|
|
} |
|
|
|
|
@ -698,11 +775,14 @@ namespace PackageManagement.Tests
@@ -698,11 +775,14 @@ namespace PackageManagement.Tests
|
|
|
|
|
viewModel.FakePackages.Add(new FakePackage("SearchedForId3")); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
ObservableCollection<Page> pages = viewModel.Pages; |
|
|
|
|
|
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
viewModel.SearchTerms = "SearchedForId"; |
|
|
|
|
viewModel.Search(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
var expectedPages = new Page[] { |
|
|
|
|
new Page() { Number = 1, IsSelected = true }, |
|
|
|
|
@ -719,5 +799,302 @@ namespace PackageManagement.Tests
@@ -719,5 +799,302 @@ namespace PackageManagement.Tests
|
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.ShowPackageSources); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_OnePackageInRepository_CreatesTask() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(taskFactory.IsCreateTaskCalled); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_OnePackageInRepository_TaskStartMethodCalled() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(taskFactory.FirstFakeTaskCreated.IsStartCalled); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void IsReadingPackages_ReadPackagesNotCalled_ReturnsFalse() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.IsReadingPackages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void IsReadingPackages_ReadPackagesCalled_ReturnsTrue() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.IsReadingPackages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_OnePackageInRepositoryWhenBackgroundTaskExecuted_ReadsOnePackage() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
PackagesForSelectedPageResult result = taskFactory.FirstFakeTaskCreated.ExecuteTaskButNotContinueWith(); |
|
|
|
|
|
|
|
|
|
CollectionAssert.AreEqual(viewModel.FakePackages, result.Packages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_OnePackageInRepositoryWhenFirstPartOfBackgroundTaskExecuted_PackageCountReadInBackgroundTask() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
PackagesForSelectedPageResult result = taskFactory.FirstFakeTaskCreated.ExecuteTaskButNotContinueWith(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(1, result.TotalPackagesOnPage); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_OnePackageInRepositoryWhenBackgroundTaskExecutedAndResultsReturned_PackagesUpdatedInViewModel() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
PackageCollectionAssert.AreEqual(viewModel.FakePackages, viewModel.PackageViewModels); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void IsReadingPackages_OnePackageInRepositoryWhenBackgroundTaskExecutedAndResultsReturned_SetToFalseAfterPackagesRead() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.IsReadingPackages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void IsReadingPackages_OnePackageInRepositoryWhenBackgroundTaskExecutedAndResultsReturned_NotifyPropertyChangedFiredAfterIsReadingPackagesSetToFalse() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
bool readingPackages = true; |
|
|
|
|
viewModel.PropertyChanged += (sender, e) => readingPackages = viewModel.IsReadingPackages; |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(readingPackages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_SixPackagesInRepositoryAndPageSizeIsTwoWhenFirstPartOfBackgroundTaskExecuted_PackageCountReadInBackgroundTask() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
PackagesForSelectedPageResult result = taskFactory.FirstFakeTaskCreated.ExecuteTaskButNotContinueWith(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(6, result.TotalPackages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_SixPackagesInRepositoryAndPageSizeIsTwoWhenFirstPartOfBackgroundTaskExecuted_PageSizeNotChangedDuringBackgroundTaskExecution() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
PackagesForSelectedPageResult result = taskFactory.FirstFakeTaskCreated.ExecuteTaskButNotContinueWith(); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.IsPaged); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_SixPackagesInRepositoryAndPageSizeIsTwoWhenBackgroundTaskExecutedAndResultsReturned_ResultsArePaged() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.PageSize = 2; |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.IsPaged); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_CalledSecondTimeBeforeFirstReadPackagesTaskCompletes_FirstReadPackagesTaskIsCancelled() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(taskFactory.FirstFakeTaskCreated.IsCancelCalled); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_FirstReadPackagesTaskCompletesAfterBeingCancelled_PackagesNotUpdated() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddOneFakePackage(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.IsCancelled = true; |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.ExecuteTaskCompletely(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(0, viewModel.PackageViewModels.Count); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void SelectedPage_ChangedTwoPageTwo_IsReadingPackagesReturnsTrue() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
|
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.IsReadingPackages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_SixPackagesDisplayedWhenReadPackagesCalledAgain_DisplayedPackagesAreRemoved() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(0, viewModel.PackageViewModels.Count); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void SelectedPage_ChangedTwoPageTwo_DisplayedPackagesAreRemoved() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
ClearReadPackagesTasks(); |
|
|
|
|
|
|
|
|
|
viewModel.SelectedPageNumber = 2; |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(0, viewModel.PackageViewModels.Count); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void HasError_BackgroundTaskHasExceptionWhenItFinishes_ReturnsTrue() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.IsFaulted = true; |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.HasError); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void HasError_ByDefault_ReturnsFalse() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.HasError); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void IsReadingPackages_BackgroundTaskHasExceptionWhenItFinishes_ReturnsFalse() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.IsFaulted = true; |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(viewModel.IsReadingPackages); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void PropertyChanged_BackgroundTaskHasExceptionWhenItFinishes_PropertyChangedEventFiredWhenTaskCompletes() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.IsFaulted = true; |
|
|
|
|
taskFactory.FirstFakeTaskCreated.ExecuteTaskButNotContinueWith(); |
|
|
|
|
|
|
|
|
|
string propertyName = "Nothing"; |
|
|
|
|
viewModel.PropertyChanged += (sender, e) => propertyName = e.PropertyName; |
|
|
|
|
taskFactory.FirstFakeTaskCreated.ExecuteContinueWith(); |
|
|
|
|
|
|
|
|
|
Assert.IsNull(propertyName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ReadPackages_BackgroundTaskHasExceptionWhenItFinishes_PackagesNotUpdated() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.Result = new PackagesForSelectedPageResult(viewModel.FakePackages, 6); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.IsFaulted = true; |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(0, viewModel.PackageViewModels.Count); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void ErrorMessage_BackgroundTaskHasExceptionWhenItFinishes_ErrorMessageTakenFromException() |
|
|
|
|
{ |
|
|
|
|
CreateViewModel(); |
|
|
|
|
viewModel.AddSixFakePackages(); |
|
|
|
|
viewModel.ReadPackages(); |
|
|
|
|
AggregateException ex = new AggregateException("Test"); |
|
|
|
|
taskFactory.FirstFakeTaskCreated.Exception = ex; |
|
|
|
|
taskFactory.FirstFakeTaskCreated.IsFaulted = true; |
|
|
|
|
CompleteReadPackagesTask(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("Test", viewModel.ErrorMessage); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void Constructor_ActiveProjectManagerThrowsException_HasErrorReturnsTrue() |
|
|
|
|
{ |
|
|
|
|
CreatePackageManagementService(); |
|
|
|
|
packageManagementService.ActiveProjectManagerExeptionToThrow = new Exception(); |
|
|
|
|
CreateViewModel(packageManagementService); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(viewModel.HasError); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|