Source of file CMSProfileControllerTest.php
Size: 3,086 Bytes - Last Modified: 2021-12-23T10:27:20+00:00
/var/www/docs.ssmods.com/process/src/tests/php/CMSProfileControllerTest.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | <?php namespace SilverStripe\Admin\Tests; use SilverStripe\Core\Config\Config; use SilverStripe\Dev\FunctionalTest; use SilverStripe\Security\Member; use SilverStripe\Security\Security; class CMSProfileControllerTest extends FunctionalTest { protected static $fixture_file = 'CMSProfileControllerTest.yml'; public $autoFollowRedirection = false; public function testMemberCantEditAnother() { $member = $this->objFromFixture(Member::class, 'user1'); $anotherMember = $this->objFromFixture(Member::class, 'user2'); $this->logInAs($member); $response = $this->post('admin/myprofile/EditForm', array( 'action_save' => 1, 'ID' => $anotherMember->ID, 'FirstName' => 'JoeEdited', 'Surname' => 'BloggsEdited', 'Email' => $member->Email, 'Locale' => $member->Locale, 'Password[_Password]' => 'password', 'Password[_ConfirmPassword]' => 'password', )); $anotherMember = $this->objFromFixture(Member::class, 'user2'); $this->assertNotEquals($anotherMember->FirstName, 'JoeEdited', 'FirstName field stays the same'); } public function testMemberEditsOwnProfile() { $member = $this->objFromFixture(Member::class, 'user3'); $this->logInAs($member); $response = $this->post('admin/myprofile/EditForm', array( 'action_save' => 1, 'ID' => $member->ID, 'FirstName' => 'JoeEdited', 'Surname' => 'BloggsEdited', 'Email' => $member->Email, 'Locale' => $member->Locale, 'Password[_Password]' => 'password', 'Password[_ConfirmPassword]' => 'password', )); $member = $this->objFromFixture(Member::class, 'user3'); $this->assertEquals('JoeEdited', $member->FirstName, 'FirstName field was changed'); } public function testExtendedPermissionsStopEditingOwnProfile() { $existingExtensions = Member::config()->get('extensions', Config::EXCLUDE_EXTRA_SOURCES); Member::config()->update('extensions', [ CMSProfileControllerTest\TestExtension::class ]); $member = $this->objFromFixture(Member::class, 'user1'); $this->logInAs($member); $response = $this->post('admin/myprofile/EditForm', array( 'action_save' => 1, 'ID' => $member->ID, 'FirstName' => 'JoeEdited', 'Surname' => 'BloggsEdited', 'Email' => $member->Email, 'Locale' => $member->Locale, 'Password[_Password]' => 'password', 'Password[_ConfirmPassword]' => 'password', )); $member = $this->objFromFixture(Member::class, 'user1'); $this->assertNotEquals( $member->FirstName, 'JoeEdited', 'FirstName field was NOT changed because we modified canEdit' ); Member::config() ->remove('extensions') ->update('extensions', $existingExtensions); } } |