diff options
author | jenkins-bot <jenkins-bot@gerrit.wikimedia.org> | 2021-12-22 07:05:53 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@wikimedia.org> | 2021-12-22 07:05:53 +0000 |
commit | 87dc11393dd9d6e369c6b62340cc9105b83c23c4 (patch) | |
tree | 7744d81266c4c90d38f67ff06e94aac76dad98e4 | |
parent | 16bd6eaeb497ba577460775038a530e202ef3b0f (diff) | |
parent | 8ce472ce916ee1de2604c83fc011e57bef884300 (diff) |
Merge "UserSelectQueryBuilderTest: Test behavior of hidden()"
-rw-r--r-- | tests/phpunit/integration/includes/user/UserSelectQueryBuilderTest.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/phpunit/integration/includes/user/UserSelectQueryBuilderTest.php b/tests/phpunit/integration/includes/user/UserSelectQueryBuilderTest.php index 00d3d3180220..f6a1ee11d7cd 100644 --- a/tests/phpunit/integration/includes/user/UserSelectQueryBuilderTest.php +++ b/tests/phpunit/integration/includes/user/UserSelectQueryBuilderTest.php @@ -214,4 +214,72 @@ class UserSelectQueryBuilderTest extends ActorStoreTestBase { $actors[0] ); } + + /** + * @covers ::hidden + */ + public function testHidden() { + $hiddenUser = $this->getMutableTestUser()->getUserIdentity(); + $normalUser = $this->getMutableTestUser()->getUserIdentity(); + $this->getServiceContainer()->getBlockUserFactory()->newBlockUser( + $hiddenUser, + $this->getTestSysop()->getUser(), + 'infinity', + 'Test', + [ + 'isHideUser' => true + ] + )->placeBlockUnsafe( true ); + + // hidden set to true + $actors = iterator_to_array( + $this->getStore() + ->newSelectQueryBuilder() + ->limit( 100 ) + ->whereUserIds( [ + $hiddenUser->getId(), + $normalUser->getId() + ] ) + ->hidden( true ) + ->fetchUserIdentities() + ); + $this->assertCount( 1, $actors ); + $this->assertSameActors( + $hiddenUser, + $actors[0] + ); + + // hidden set to false + $actors = iterator_to_array( + $this->getStore() + ->newSelectQueryBuilder() + ->limit( 100 ) + ->whereUserIds( [ + $hiddenUser->getId(), + $normalUser->getId() + ] ) + ->hidden( false ) + ->fetchUserIdentities() + ); + $this->assertCount( 1, $actors ); + $this->assertSameActors( + $normalUser, + $actors[0] + ); + + // hidden not set + $usernames = $this->getStore() + ->newSelectQueryBuilder() + ->limit( 100 ) + ->whereUserIds( [ + $hiddenUser->getId(), + $normalUser->getId() + ] ) + ->fetchUserNames(); + $this->assertCount( 2, $usernames ); + $this->assertArrayEquals( + [ $normalUser->getName(), $hiddenUser->getName() ], + $usernames + ); + } } |