Source of file MemberConfirmationAdminTest.php
Size: 2,244 Bytes - Last Modified: 2021-12-23T10:25:39+00:00
/var/www/docs.ssmods.com/process/src/tests/MemberConfirmationAdminTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | <?php namespace Symbiote\MemberProfiles\Tests; use SilverStripe\Security\Member; use SilverStripe\ORM\DataObject; use SilverStripe\Admin\SecurityAdmin; use SilverStripe\Security\Group; use SilverStripe\Forms\Form; use SilverStripe\Control\Controller; use SilverStripe\Dev\FunctionalTest; /** * Tests manually confirming users in the admin panel. * * @package silverstripe-memberprofiles * @subpackage tests */ class MemberConfirmationAdminTest extends FunctionalTest { public static $fixture_file = 'MemberConfirmationAdminTest.yml'; public function testManualConfirmation() { $member = $this->objFromFixture(Member::class, 'unconfirmed'); $this->assertEquals(true, (bool) $member->NeedsValidation); $this->getSecurityAdmin(); $this->submitForm('Form_ItemEditForm', 'action_doSave', array ( 'ManualEmailValidation' => 'confirm' )); $member = DataObject::get_by_id(Member::class, $member->ID); $this->assertEquals(false, (bool) $member->NeedsValidation); } public function testResendConfirmationEmail() { $member = $this->objFromFixture(Member::class, 'unconfirmed'); $this->assertEquals(true, (bool) $member->NeedsValidation); $this->getSecurityAdmin(); $this->submitForm('Form_ItemEditForm', 'action_doSave', array ( 'ManualEmailValidation' => 'resend' )); $member = DataObject::get_by_id(Member::class, $member->ID); $this->assertEquals(true, (bool) $member->NeedsValidation); $this->assertEmailSent($member->Email); } private function getSecurityAdmin() { $member = $this->objFromFixture(Member::class, 'unconfirmed'); $admin = new SecurityAdmin(); $group = $this->objFromFixture(Group::class, 'group'); //Form::disable_all_security_tokens(); // NOTE(Jake): Not in SS3 / shouldn't be testing with this anyway? $this->logInWithPermission('ADMIN'); $gLink = Controller::join_links($admin->Link(), 'show', $group->ID); $mLink = Controller::join_links($admin->Link(), 'EditForm/field/Members/item', $member->ID, 'edit'); $this->get($gLink); $this->get($mLink); } } |