Passed
Push — master ( cbe4e2...495177 )
by Simon
01:45
created

BootstrapMFAProviderTest::testUpdateTokens()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 6
nc 1
nop 0
1
<?php
2
3
namespace Firesphere\BootstrapMFA\Tests;
4
5
use Firesphere\BootstrapMFA\Providers\BootstrapMFAProvider;
6
use Firesphere\BootstrapMFA\Tests\Helpers\CodeHelper;
7
use SilverStripe\Core\Injector\Injector;
8
use SilverStripe\Dev\SapphireTest;
9
use SilverStripe\Security\Member;
10
use SilverStripe\Security\Security;
11
12
class BootstrapMFAProviderTest extends SapphireTest
13
{
14
15
    protected static $fixture_file = '../fixtures/member.yml';
16
17
    public function testUpdateTokens()
18
    {
19
        $member = $this->objFromFixture(Member::class, 'member1');
20
        Security::setCurrentUser($member);
21
        /** @var BootstrapMFAProvider $provider */
22
        $provider = Injector::inst()->get(BootstrapMFAProvider::class);
23
        $provider->setMember($member);
24
        $provider->updateTokens();
25
26
        $this->assertEquals(15, count(CodeHelper::getCodesFromSession()));
27
    }
28
29
    public function testUpdateTokensWithoutMember()
30
    {
31
        /** @var BootstrapMFAProvider $provider */
32
        $provider = Injector::inst()->get(BootstrapMFAProvider::class);
33
        $provider->updateTokens();
34
35
        $this->assertEquals(0, count(CodeHelper::getCodesFromSession()));
36
    }
37
}