Merge "Expand ProtectTest"

This commit is contained in:
jenkins-bot 2024-09-03 18:37:46 +00:00 committed by Gerrit Code Review
commit 3b1c9bca23

View file

@ -41,6 +41,32 @@ class ProtectTest extends MaintenanceBaseTestCase {
];
}
public function testExecuteForUnprotect() {
$testPage = $this->getExistingTestPage();
// Protect the test page so that we can unprotect it
$cascade = false;
$testPage->doUpdateRestrictions(
[ 'edit' => 'sysop', 'move' => 'sysop' ], [], $cascade, '', $this->getTestSysop()->getUser()
);
// Verify that the specified protection level has been applied
$resultingPageRestrictions = $this->getServiceContainer()->getRestrictionStore()
->getAllRestrictions( $testPage );
foreach ( $resultingPageRestrictions as $restrictions ) {
$this->assertContains( 'sysop', $restrictions );
}
// Call ::execute to unprotect the page
$this->maintenance->setArg( 'title', $testPage );
$this->maintenance->setOption( 'unprotect', 1 );
$this->maintenance->execute();
// Verify that the specified protection level has been applied
$this->expectOutputString( "Updating protection status...done\n" );
$resultingPageRestrictions = $this->getServiceContainer()->getRestrictionStore()
->getAllRestrictions( $testPage );
foreach ( $resultingPageRestrictions as $restrictions ) {
$this->assertCount( 0, $restrictions );
}
}
public function testExecuteWhenReadOnly() {
// Get a test page and then add it as an argument to the maintenance script
$testPage = $this->getExistingTestPage();