Source of file SearchPageTest.php
Size: 2,987 Bytes - Last Modified: 2021-12-23T10:38:36+00:00
/var/www/docs.ssmods.com/process/src/tests/Page/SearchPageTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?php declare(strict_types = 1); namespace Suilven\FreeTextSearch\Tests\Page; use SilverStripe\Dev\SapphireTest; use Suilven\FreeTextSearch\Container\SearchResults; use Suilven\FreeTextSearch\Page\SearchPage; class SearchPageTest extends SapphireTest { protected static $fixture_file = ['tests/fixtures/pages.yml']; public function testGetIndex(): void { /** @var \Suilven\FreeTextSearch\Page\SearchPage $photoSearchPage */ $photoSearchPage = $this->objFromFixture(SearchPage::class, 'photo-search'); $this->assertEquals('flickrphotos', $photoSearchPage->IndexToSearch); } public function testGetFacets(): void { /** @var \Suilven\FreeTextSearch\Page\SearchPage $photoSearchPage */ $photoSearchPage = $this->objFromFixture(SearchPage::class, 'photo-search'); $this->assertEquals([ 'Aperture', 'ShutterSpeed', 'ISO', 'Photographer', ], $photoSearchPage->getFacetFields()); } public function testGetHasManyFields(): void { /** @var \Suilven\FreeTextSearch\Page\SearchPage $photoSearchPage */ $photoSearchPage = $this->objFromFixture(SearchPage::class, 'photo-search'); $this->assertEquals(['tags'], $photoSearchPage->getHasManyFields()); } public function testGetCMSFields(): void { /** @var \Suilven\FreeTextSearch\Page\SearchPage $photoSearchPage */ $photoSearchPage = $this->objFromFixture(SearchPage::class, 'photo-search'); $fields = $photoSearchPage->getCMSFields(); /** @var \Suilven\FreeTextSearch\Tests\Page\TabSet $rootTab */ $rootTab = $fields->fieldByName('Root'); /** @var \Suilven\FreeTextSearch\Tests\Page\Tab $mainTab */ $mainTab = $rootTab->fieldByName('Index'); $fields = $mainTab->FieldList(); // This is present for PostgresSQL on Travis only $fields->removeByName('InstallWarningHeader'); $names = \array_map( static function ($field) { return $field->Name; }, $fields->toArray() ); $this->assertEquals([ 'IndexToSearch', 'PageSize', 'MaximumNumberOfFacets', 'PageLandingMode', 'ShowTagCloudFor', ], $names); } public function testSetGetSearchResults(): void { /** @var \Suilven\FreeTextSearch\Page\SearchPage $photoSearchPage */ $photoSearchPage = $this->objFromFixture(SearchPage::class, 'photo-search'); $searchResults = new SearchResults(); $searchResults->setQuery('test'); $searchResults->setTime(9.58); $photoSearchPage->setSearchResults($searchResults); $obtainedSearchResults = $photoSearchPage->getSearchResults(); $this->assertEquals('test', $obtainedSearchResults->getQuery()); $this->assertEquals(9.58, $obtainedSearchResults->getTime()); } } |