SearchResultsPane searchResults = adminPage.getSearchResults();
Assert.assertNull(searchResults.getNoResultsMessage());
Assert.assertEquals(20, searchResults.getDisplayedResultsCount());
PaginationFilterPane pagination = searchResults.getPagination();
Assert.assertEquals(1 + pagination.getResultsCount() / 20, pagination.getPageCount());
Assert.assertEquals("1 - 20", pagination.getCurrentRange());
Assert.assertEquals(1, pagination.getCurrentPageIndex());
Assert.assertFalse(pagination.hasPreviousPage());
Assert.assertTrue(pagination.hasNextPage());
Assert.assertTrue(pagination.getPageCount() > 5);
Assert.assertTrue(pagination.getResultsCount() > 100);
String firstExtensionName = searchResults.getExtension(0).getName();
pagination = pagination.gotoPage(4);
searchResults = new SearchResultsPane();
Assert.assertEquals(20, searchResults.getDisplayedResultsCount());
Assert.assertEquals("61 - 80", pagination.getCurrentRange());
Assert.assertEquals(4, pagination.getCurrentPageIndex());
Assert.assertTrue(pagination.hasNextPage());
String secondExtensionName = searchResults.getExtension(0).getName();
Assert.assertFalse(firstExtensionName.equals(secondExtensionName));
pagination = pagination.previousPage();
searchResults = new SearchResultsPane();
Assert.assertEquals(20, searchResults.getDisplayedResultsCount());
Assert.assertEquals("41 - 60", pagination.getCurrentRange());
Assert.assertEquals(3, pagination.getCurrentPageIndex());
String thirdExtensionName = searchResults.getExtension(0).getName();
Assert.assertFalse(firstExtensionName.equals(thirdExtensionName));
Assert.assertFalse(secondExtensionName.equals(thirdExtensionName));
pagination = pagination.nextPage();
searchResults = new SearchResultsPane();
Assert.assertEquals(20, searchResults.getDisplayedResultsCount());
Assert.assertEquals("61 - 80", pagination.getCurrentRange());
Assert.assertEquals(4, pagination.getCurrentPageIndex());
Assert.assertEquals(secondExtensionName, searchResults.getExtension(0).getName());
pagination = pagination.gotoPage(pagination.getPageCount());
searchResults = new SearchResultsPane();
Assert.assertEquals(pagination.getResultsCount() % 20, searchResults.getDisplayedResultsCount());
Assert.assertEquals(pagination.getPageCount(), pagination.getCurrentPageIndex());
Assert.assertFalse(pagination.hasNextPage());
Assert.assertTrue(pagination.hasPreviousPage());
}