summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>2021-12-22 07:05:53 +0000
committerGerrit Code Review <gerrit@wikimedia.org>2021-12-22 07:05:53 +0000
commit87dc11393dd9d6e369c6b62340cc9105b83c23c4 (patch)
tree7744d81266c4c90d38f67ff06e94aac76dad98e4
parent16bd6eaeb497ba577460775038a530e202ef3b0f (diff)
parent8ce472ce916ee1de2604c83fc011e57bef884300 (diff)
Merge "UserSelectQueryBuilderTest: Test behavior of hidden()"
-rw-r--r--tests/phpunit/integration/includes/user/UserSelectQueryBuilderTest.php68
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
+ );
+ }
}