Passed
Pull Request — master (#56)
by Robbie
02:14
created

LockCommandTest::tearDown()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 9
Code Lines 5

Duplication

Lines 9
Ratio 100 %

Importance

Changes 0
Metric Value
dl 9
loc 9
rs 9.6666
c 0
b 0
f 0
cc 3
eloc 5
nc 2
nop 0
1
<?php
2
3
namespace SilverLeague\Console\Tests\Command\Member;
4
5
use SilverLeague\Console\Tests\Command\AbstractCommandTest;
6
use SilverStripe\Security\Member;
7
8
/**
9
 * Test the lock member command
10
 *
11
 * @package silverstripe-console
12
 * @author  Robbie Averill <[email protected]>
13
 */
14 View Code Duplication
class LockCommandTest extends AbstractCommandTest
15
{
16
    /**
17
     * Delete fixtured members after tests have run
18
     */
19
    protected function tearDown()
20
    {
21
        parent::tearDown();
22
23
        $testMember = Member::get()->filter(['Email' => '[email protected]'])->first();
24
        if ($testMember && $testMember->exists()) {
25
            $testMember->delete();
26
        }
27
    }
28
29
    protected function getTestCommand()
30
    {
31
        return 'member:lock';
32
    }
33
34
    public function testExecute()
35
    {
36
        $member = $this->createMember();
37
        $this->assertFalse($member->isLockedOut());
38
39
        $tester = $this->executeTest(['email' => '[email protected]']);
40
        /** @var Member $member */
41
        $member = Member::get()->byID($member->ID);
42
        $this->assertContains('Member [email protected] locked for', $tester->getDisplay());
43
        $this->assertTrue($member->isLockedOut());
44
    }
45
46
    /**
47
     * Creates a dummy user for testing with
48
     *
49
     * @return Member
50
     */
51
    protected function createMember()
52
    {
53
        $member = Member::create();
54
        $member->Email = '[email protected]';
55
        $member->Password = 'Opensesame1';
56
        $member->write();
57
        return $member;
58
    }
59
}
60