‪TYPO3CMS  ‪main
SearchCest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Codeception\Util\Locator;
21 use Facebook\WebDriver\WebDriverKeys;
24 
28 final class ‪SearchCest
29 {
30  private static string ‪$toolbarItemSelector = '.t3js-toolbar-item-search';
31  private static string ‪$searchField = 'input[type="search"][name="query"]';
32  private static string ‪$searchResultContainer = 'typo3-backend-live-search-result-container';
33  private static string ‪$searchResultItem = 'typo3-backend-live-search-result-item';
34 
35  public function ‪_before(‪ApplicationTester $I): void
36  {
37  $I->useExistingSession('admin');
38  }
39 
41  {
42  $I->cantSeeElement(self::$searchField);
43  $I->click(self::$toolbarItemSelector);
44  $dialog->‪canSeeDialog();
45 
46  $I->fillField(self::$searchField, 'adm');
47 
48  $I->canSee('admin', self::$searchResultItem);
49  $I->click(self::$searchResultItem . ' [title~="admin"]+.livesearch-expand-action');
50  $I->click(Locator::contains('typo3-backend-live-search-result-item-action', 'Edit'));
51 
52  $I->switchToContentFrame();
53  $I->waitForElementVisible('#EditDocumentController');
54  $I->canSee('Edit Backend user "admin" on root level');
55  }
56 
58  {
59  $I->click(self::$toolbarItemSelector);
60  $dialog->‪canSeeDialog();
61 
62  $I->fillField(self::$searchField, 'Kasper = Jesus # joh316');
63 
64  // todo: check why TYPO3 does not return a result for "Kasper" by itself
65  $I->canSee('No results found.', 'div.alert');
66 
67  $I->pressKey(self::$searchField, WebDriverKeys::ESCAPE);
68 
69  $I->waitForElementNotVisible(self::$searchResultContainer);
70  $I->cantSee(self::$searchField);
71  }
72 }
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest\$searchResultContainer
‪static string $searchResultContainer
Definition: SearchCest.php:32
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest\$searchResultItem
‪static string $searchResultItem
Definition: SearchCest.php:33
‪TYPO3\CMS\Core\Tests\Acceptance\Support\ApplicationTester
Definition: ApplicationTester.php:28
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest\$toolbarItemSelector
‪static string $toolbarItemSelector
Definition: SearchCest.php:30
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar
Definition: BookmarkCest.php:18
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest\_before
‪_before(ApplicationTester $I)
Definition: SearchCest.php:35
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest\searchAndTestIfAutocompletionWorks
‪searchAndTestIfAutocompletionWorks(ApplicationTester $I, ModalDialog $dialog)
Definition: SearchCest.php:40
‪TYPO3\CMS\Core\Tests\Acceptance\Support\Helper\ModalDialog\canSeeDialog
‪canSeeDialog()
Definition: ModalDialog.php:68
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest\searchForFancyTextAndCheckEmptyResultInfo
‪searchForFancyTextAndCheckEmptyResultInfo(ApplicationTester $I, ModalDialog $dialog)
Definition: SearchCest.php:57
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest\$searchField
‪static string $searchField
Definition: SearchCest.php:31
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Topbar\SearchCest
Definition: SearchCest.php:29
‪TYPO3\CMS\Core\Tests\Acceptance\Support\Helper\ModalDialog
Definition: ModalDialog.php:24