Passed
Pull Request — master (#13)
by Simon
02:00
created

MemberExtensionTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
dl 0
loc 28
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testYubiAuthEnabled() 0 11 1
A testUpdateCMSFields() 0 12 1
1
<?php
2
3
namespace Firesphere\YubiAuth\Tests;
4
5
use Firesphere\YubiAuth\Extensions\MemberExtension;
6
use SilverStripe\Core\Injector\Injector;
7
use SilverStripe\Dev\SapphireTest;
8
use SilverStripe\Forms\FieldList;
9
use SilverStripe\Forms\Tab;
10
use SilverStripe\Forms\TabSet;
11
use SilverStripe\Security\Member;
12
13
class MemberExtensionTest extends SapphireTest
14
{
15
16
    public function testUpdateCMSFields()
17
    {
18
        $fieldList = FieldList::create();
19
        $fieldList->push(TabSet::create('Root', Tab::create('Main')));
20
21
        $extension = Injector::inst()->get(MemberExtension::class);
22
23
        $extension->updateCMSFields($fieldList);
24
25
        $this->assertNotNull($fieldList->dataFieldByName('NoYubikeyCount'));
26
        $this->assertNotNull($fieldList->dataFieldByName('Yubikey'));
27
        $this->assertNotNull($fieldList->dataFieldByName('YubiAuthEnabled'));
28
    }
29
30
    public function testYubiAuthEnabled()
31
    {
32
        $member = Member::create(['YubiAuthEnabled' => true, 'FirstName' => 'Test', 'Surname' => 'Person']);
33
        $fieldList = FieldList::create();
34
        $fieldList->push(TabSet::create('Root', Tab::create('Main')));
35
36
        $extension = Injector::inst()->get(MemberExtension::class);
37
        $extension->setOwner($member);
38
        $extension->updateCMSFields($fieldList);
39
40
        $this->assertTrue($fieldList->dataFieldByName('NoYubikeyCount')->isDisabled());
41
    }
42
}