Browse Source

Hide page numbers when package search returns a single page of results.

pull/15/head
mrward 15 years ago
parent
commit
53ee8d65d4
  1. 3
      src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs
  2. 28
      src/AddIns/Misc/PackageManagement/Test/Src/PackagesViewModelTests.cs

3
src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs

@ -94,6 +94,7 @@ namespace ICSharpCode.PackageManagement
{ {
allPackages = null; allPackages = null;
pages.CollectionChanged -= PagesChanged; pages.CollectionChanged -= PagesChanged;
SelectedPageNumber = 1;
UpdatePackageViewModels(); UpdatePackageViewModels();
pages.CollectionChanged += PagesChanged; pages.CollectionChanged += PagesChanged;
} }
@ -246,8 +247,8 @@ namespace ICSharpCode.PackageManagement
public void Search() public void Search()
{ {
SelectedPageNumber = 1;
ReadPackages(); ReadPackages();
OnPropertyChanged(null);
} }
} }
} }

28
src/AddIns/Misc/PackageManagement/Test/Src/PackagesViewModelTests.cs

@ -391,9 +391,9 @@ namespace PackageManagement.Tests
{ {
CreateViewModel(); CreateViewModel();
viewModel.PageSize = 3; viewModel.PageSize = 3;
viewModel.SelectedPageNumber = 2;
viewModel.AddSixFakePackages(); viewModel.AddSixFakePackages();
viewModel.ReadPackages(); viewModel.ReadPackages();
viewModel.SelectedPageNumber = 2;
viewModel.ShowPreviousPageCommand.Execute(null); viewModel.ShowPreviousPageCommand.Execute(null);
@ -408,8 +408,8 @@ namespace PackageManagement.Tests
CreateViewModel(); CreateViewModel();
viewModel.AddThreeFakePackages(); viewModel.AddThreeFakePackages();
viewModel.PageSize = 2; viewModel.PageSize = 2;
viewModel.SelectedPageNumber = 2;
viewModel.ReadPackages(); viewModel.ReadPackages();
viewModel.SelectedPageNumber = 2;
viewModel.ShowPreviousPageCommand.Execute(null); viewModel.ShowPreviousPageCommand.Execute(null);
@ -425,9 +425,9 @@ namespace PackageManagement.Tests
{ {
CreateViewModel(); CreateViewModel();
viewModel.PageSize = 2; viewModel.PageSize = 2;
viewModel.SelectedPageNumber = 2;
viewModel.AddSixFakePackages(); viewModel.AddSixFakePackages();
viewModel.ReadPackages(); viewModel.ReadPackages();
viewModel.SelectedPageNumber = 2;
int pageNumber = 1; int pageNumber = 1;
viewModel.ShowPageCommand.Execute(pageNumber); viewModel.ShowPageCommand.Execute(pageNumber);
@ -454,7 +454,6 @@ namespace PackageManagement.Tests
{ {
CreateViewModel(); CreateViewModel();
viewModel.PageSize = 3; viewModel.PageSize = 3;
viewModel.SelectedPageNumber = 1;
viewModel.AddSixFakePackages(); viewModel.AddSixFakePackages();
viewModel.ReadPackages(); viewModel.ReadPackages();
viewModel.ReadPackages(); viewModel.ReadPackages();
@ -634,7 +633,6 @@ namespace PackageManagement.Tests
{ {
CreateViewModel(); CreateViewModel();
viewModel.PageSize = 2; viewModel.PageSize = 2;
viewModel.SelectedPageNumber = 2;
viewModel.AddSixFakePackages(); viewModel.AddSixFakePackages();
var package = new FakePackage() { var package = new FakePackage() {
@ -644,6 +642,8 @@ namespace PackageManagement.Tests
viewModel.FakePackages.Add(package); viewModel.FakePackages.Add(package);
viewModel.ReadPackages(); viewModel.ReadPackages();
viewModel.SelectedPageNumber = 2;
viewModel.SearchTerms = "SearchedForId"; viewModel.SearchTerms = "SearchedForId";
viewModel.Search(); viewModel.Search();
@ -660,12 +660,28 @@ namespace PackageManagement.Tests
{ {
CreateViewModel(); CreateViewModel();
viewModel.PageSize = 2; viewModel.PageSize = 2;
viewModel.SelectedPageNumber = 1;
viewModel.AddSixFakePackages(); viewModel.AddSixFakePackages();
viewModel.ReadPackages(); viewModel.ReadPackages();
int expectedPages = 3; int expectedPages = 3;
Assert.AreEqual(expectedPages, viewModel.PageCountBeforePackagesFiltered); Assert.AreEqual(expectedPages, viewModel.PageCountBeforePackagesFiltered);
} }
[Test]
public void Search_ThreePagesOfPackagesBeforeSearchReturnsNoPackages_IsPagedIsFalseWhenPropertyChangedEventFired()
{
CreateViewModel();
viewModel.PageSize = 2;
viewModel.AddSixFakePackages();
viewModel.ReadPackages();
viewModel.SearchTerms = "SearchedForId";
bool paged = true;
viewModel.PropertyChanged += (sender, e) => paged = viewModel.IsPaged;
viewModel.Search();
Assert.IsFalse(paged);
}
} }
} }

Loading…
Cancel
Save