for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace SilverLeague\Console\Tests\Command\Member;
use SilverLeague\Console\Tests\Command\AbstractCommandTest;
use SilverStripe\Security\Member;
/**
* Test the lock member command
*
* @package silverstripe-console
* @author Robbie Averill <[email protected]>
*/
class LockCommandTest extends AbstractCommandTest
{
* Delete fixtured members after tests have run
protected function tearDown()
parent::tearDown();
$testMember = Member::get()->filter(['Email' => '[email protected]'])->first();
if ($testMember && $testMember->exists()) {
$testMember->delete();
}
protected function getTestCommand()
return 'member:lock';
public function testExecute()
$member = $this->createMember();
$this->assertFalse($member->isLockedOut());
$tester = $this->executeTest(['email' => '[email protected]']);
/** @var Member $member */
$member = Member::get()->byID($member->ID);
$this->assertContains('Member [email protected] locked for', $tester->getDisplay());
$this->assertTrue($member->isLockedOut());
* Creates a dummy user for testing with
* @return Member
protected function createMember()
$member = Member::create();
$member->Email = '[email protected]';
$member->Password = 'Opensesame1';
$member->write();
return $member;