aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/mocks
diff options
context:
space:
mode:
authorPetr Pchelko <ppchelko@wikimedia.org>2021-03-02 15:28:04 -0700
committerPetr Pchelko <ppchelko@wikimedia.org>2021-03-03 17:12:07 -0700
commit595d605e34dc802aad219908bd84eed0394b9687 (patch)
treecfc79bff4d491e512e13aeb27e90170a25ceee5b /tests/phpunit/mocks
parentfc9b902f3a998dabe89e50c73cafea344085191c (diff)
downloadmediawikicore-595d605e34dc802aad219908bd84eed0394b9687.tar.gz
mediawikicore-595d605e34dc802aad219908bd84eed0394b9687.zip
Convert EditConstraints to Authority
Bug: T271977 Change-Id: I12a2f71f52a1ba7e94bf325621e62ed0e255601b
Diffstat (limited to 'tests/phpunit/mocks')
-rw-r--r--tests/phpunit/mocks/MockTitleTrait.php3
-rw-r--r--tests/phpunit/mocks/permissions/MockAuthorityTrait.php22
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/phpunit/mocks/MockTitleTrait.php b/tests/phpunit/mocks/MockTitleTrait.php
index f886a0b48a98..3190ec192a4d 100644
--- a/tests/phpunit/mocks/MockTitleTrait.php
+++ b/tests/phpunit/mocks/MockTitleTrait.php
@@ -14,6 +14,7 @@ trait MockTitleTrait {
* - id: int
* - namespace: int
* - language: Language
+ * - contentModel: string
*
* @return Title|MockObject
*/
@@ -45,6 +46,8 @@ trait MockTitleTrait {
$title->method( 'exists' )->willReturn( $id > 0 );
$title->method( 'getTouched' )->willReturn( $id ? '20200101223344' : false );
$title->method( 'getPageLanguage' )->willReturn( $props['language'] ?? 'qqx' );
+ $title->method( 'getContentModel' )
+ ->willReturn( $props['contentModel'] ?? CONTENT_MODEL_WIKITEXT );
$title->method( 'getRestrictions' )->willReturn( [] );
$title->method( 'isSamePageAs' )->willReturnCallback( static function ( $other ) use ( $id ) {
return $other && $id === $other->getArticleId();
diff --git a/tests/phpunit/mocks/permissions/MockAuthorityTrait.php b/tests/phpunit/mocks/permissions/MockAuthorityTrait.php
index 9f602ff8c588..1bbc55ca05e3 100644
--- a/tests/phpunit/mocks/permissions/MockAuthorityTrait.php
+++ b/tests/phpunit/mocks/permissions/MockAuthorityTrait.php
@@ -71,6 +71,28 @@ trait MockAuthorityTrait {
}
/**
+ * Create a mock Authority for an anon user with all but $permissions
+ * @param array $permissions
+ * @return Authority
+ */
+ private function mockAnonAuthorityWithoutPermissions( array $permissions ): Authority {
+ return $this->mockAnonAuthority( function ( $permission ) use ( $permissions ) {
+ return !in_array( $permission, $permissions );
+ } );
+ }
+
+ /**
+ * Create a mock Authority for a registered user with all but $permissions
+ * @param array $permissions
+ * @return Authority
+ */
+ private function mockRegisteredAuthorityWithoutPermissions( array $permissions ): Authority {
+ return $this->mockRegisteredAuthority( function ( $permission ) use ( $permissions ) {
+ return !in_array( $permission, $permissions );
+ } );
+ }
+
+ /**
* Create mock Authority for anon user where permissions are determined by $callback.
*
* @param callable $permissionCallback