[TASK] add acceptence tests for filter backend user in backend module 29/49829/3
authorDaniel Lorenz <info@extco.de>
Sat, 3 Sep 2016 11:11:15 +0000 (13:11 +0200)
committerTymoteusz Motylewski <t.motylewski@gmail.com>
Fri, 7 Oct 2016 15:54:09 +0000 (17:54 +0200)
Resolves: #77823
Releases: master
Change-Id: I301c43c4429bf18fde4c65c9d12c94951693bfc4
Reviewed-on: https://review.typo3.org/49829
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Valentin Funk <valentin.funk@computerfabrik.de>
Reviewed-by: Joerg Boesche <typo3@joergboesche.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Marco Bresch <marco.bresch@starfinanz.de>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
typo3/sysext/core/Tests/Acceptance/Backend/BackendUser/ListUserCest.php

index c807c5f..38519e2 100644 (file)
@@ -17,7 +17,7 @@ namespace TYPO3\CMS\Core\Tests\Acceptance\Backend\BackendUser;
 use TYPO3\CMS\Core\Tests\Acceptance\Step\Backend\Admin;
 
 /**
 use TYPO3\CMS\Core\Tests\Acceptance\Step\Backend\Admin;
 
 /**
- * Search User tests
+ * List User tests
  */
 class ListUserCest
 {
  */
 class ListUserCest
 {
@@ -46,11 +46,154 @@ class ListUserCest
 
         $I->wantTo('See the table of users');
         $I->waitForElementVisible('#typo3-backend-user-list');
 
         $I->wantTo('See the table of users');
         $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact four Backend Users created from the Fixtures
+        $this->checkCountOfUsers($I, 4);
+    }
+
+    /**
+     * @param Admin $I
+     * @return void
+     */
+    public function filterUsersByUsername(Admin $I)
+    {
+        $I->wantTo('See the table of users');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+        // We expect exact four Backend Users created from the Fixtures
+        $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', 4);
+
+        $I->wantTo('Filter the list of user by valid username admin');
+        $I->fillField('#tx_Beuser_username', 'admin');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact one fitting Backend User created from the Fixtures
+        $this->checkCountOfUsers($I, 1);
+
+        $I->wantTo('Filter the list of user by valid username administrator');
+        $I->fillField('#tx_Beuser_username', 'administrator');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact no fitting Backend User created from the Fixtures
+        $this->checkCountOfUsers($I, 0);
+    }
+
+    /**
+     * @param Admin $I
+     * @return void
+     */
+    public function filterUsersByAdmin(Admin $I)
+    {
+        $I->wantTo('See the table of users');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+        // We expect exact four Backend Users created from the Fixtures
+        $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', 4);
+
+        $I->wantToTest('Filter BackendUser and see only admins');
+        $I->selectOption('#tx_Beuser_usertype', 'Admin only');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact two fitting Backend Users created from the Fixtures
+        $this->checkCountOfUsers($I, 2);
+
+        $I->wantToTest('Filter BackendUser and see normal users');
+        $I->selectOption('#tx_Beuser_usertype', 'Normal users only');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact two fitting Backend Users created from the Fixtures
+        $this->checkCountOfUsers($I, 2);
+    }
+
+    /**
+     * @param Admin $I
+     * @return void
+     */
+    public function filterUsersByStatus(Admin $I)
+    {
+        $I->wantTo('See the table of users');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+        // We expect exact four Backend Users created from the Fixtures
+        $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', 4);
+
+        $I->wantToTest('Filter BackendUser and see only active users');
+        $I->selectOption('#tx_Beuser_status', 'Active only');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact two fitting Backend Users created from the Fixtures
+        $this->checkCountOfUsers($I, 2);
+
+        $I->wantToTest('Filter BackendUser and see only inactive users');
+        $I->selectOption('#tx_Beuser_status', 'Inactive only');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact two fitting Backend Users created from the Fixtures
+        $this->checkCountOfUsers($I, 2);
+    }
+
+    /**
+     * @param Admin $I
+     * @return void
+     */
+    public function filterUsersByLogin(Admin $I)
+    {
+        $I->wantTo('See the table of users');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+        // We expect exact four Backend Users created from the Fixtures
+        $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', 4);
+
+        $I->wantToTest('Filter BackendUser and see only users logged in before');
+        $I->selectOption('#tx_Beuser_logins', 'Logged in before');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact two fitting Backend Users created from the Fixtures
+        $this->checkCountOfUsers($I, 2);
+
+        $I->wantToTest('Filter BackendUser and see only users never logged in before');
+        $I->selectOption('#tx_Beuser_logins', 'Never logged in');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact two fitting Backend Users created from the Fixtures
+        $this->checkCountOfUsers($I, 2);
+    }
+
+    /**
+     * @param Admin $I
+     * @return void
+     */
+    public function filterUsersByUserGroup(Admin $I)
+    {
+        $I->wantTo('See the table of users');
+        $I->waitForElementVisible('#typo3-backend-user-list');
         // We expect exact four Backend Users created from the Fixtures
         $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', 4);
 
         // We expect exact four Backend Users created from the Fixtures
         $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', 4);
 
+        // We expect exact one Backend Users created from the Fixtures has the usergroup named 'editor-group'
+        $I->wantToTest('Filter BackendUser and see only users with given usergroup');
+        $I->selectOption('#tx_beuser_backendUserGroup', 'editor-group');
+        $I->click('Filter');
+        $I->waitForElementVisible('#typo3-backend-user-list');
+
+        // We expect exact one fitting Backend User created from the Fixtures
+        $this->checkCountOfUsers($I, 1);
+    }
+
+    /**
+     * @param Admin $I
+     * @param int $countOfUsers
+     * @return void
+     */
+    protected function checkCountOfUsers(Admin $I, $countOfUsers)
+    {
+        $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', $countOfUsers);
         $I->wantToTest('If a number of users is shown in the footer row');
         $I->canSeeNumberOfElements('#typo3-backend-user-list tfoot tr', 1);
         $I->wantToTest('If a number of users is shown in the footer row');
         $I->canSeeNumberOfElements('#typo3-backend-user-list tfoot tr', 1);
-        $I->see('4 Users', '#typo3-backend-user-list tfoot tr');
+        $I->see($countOfUsers . ' Users', '#typo3-backend-user-list tfoot tr');
     }
 }
     }
 }