Passed
Push — master ( 67a250...05a7c1 )
by Simon
01:47
created

MemberExtensionTest::testOnBeforeWrite()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 6
nc 1
nop 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: simon
5
 * Date: 15-May-18
6
 * Time: 20:49
7
 */
8
9
namespace Firesphere\YubiAuth\Tests;
10
11
use Firesphere\YubiAuth\Extensions\MemberExtension;
12
use SilverStripe\Core\Injector\Injector;
13
use SilverStripe\Dev\SapphireTest;
14
use SilverStripe\Forms\NumericField;
15
use SilverStripe\Security\Member;
16
17
class MemberExtensionTest extends SapphireTest
18
{
19
    public function testLabels()
20
    {
21
        $labels = [];
22
23
        /** @var MemberExtension $extension */
24
        $extension = Injector::inst()->get(MemberExtension::class);
25
        $extension->updateFieldLabels($labels);
26
27
        $expected = [
28
            'Yubikey'        => 'Yubikey code',
29
            'NoYubikeyCount' => 'Login count without yubikey',
30
        ];
31
32
        $this->assertEquals($expected, $labels);
33
    }
34
35
    public function testUpdateCMSFields()
36
    {
37
        $member = Member::create();
38
39
        $fields = $member->getCMSFields();
40
41
        $this->assertInstanceOf(NumericField::class, $fields->dataFieldByName('NoYubikeyCount'));
42
        $this->assertNull($fields->dataFieldByName('Yubikey'));
43
    }
44
45
    public function testOnBeforeWrite()
46
    {
47
        /** @var Member $member */
48
        $member = Member::create();
49
        $member->Yubikey = '1234567890';
50
        $member->MFAEnabled = false;
51
        $id = $member->write();
52
53
        $member = Member::get()->byID($id);
54
55
        $this->assertEquals('', $member->Yubikey);
56
    }
57
}
58