MemberReportExtensionTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 3
dl 0
loc 32
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 6 1
A testGetLastLoggedIn() 0 7 1
A testGetLastLoggedInReturnsNever() 0 6 1
1
<?php
2
3
namespace SilverStripe\SecurityReport\Tests;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\ORM\FieldType\DBDatetime;
7
use SilverStripe\Security\Member;
8
use SilverStripe\SecurityReport\MemberReportExtension;
9
10
class MemberReportExtensionTest extends SapphireTest
11
{
12
    protected static $fixture_file = 'MemberReportExtensionTest.yml';
13
14
    protected static $required_extensions = [
15
        Member::class => [
16
            MemberReportExtension::class,
17
        ],
18
    ];
19
20
    protected function setUp()
21
    {
22
        DBDatetime::set_mock_now('2018-05-03 00:00:00');
23
24
        parent::setUp();
25
    }
26
27
    public function testGetLastLoggedIn()
28
    {
29
        /** @var Member $member */
30
        $member = $this->objFromFixture(Member::class, 'has_logged_in');
31
        $result = $member->getLastLoggedIn();
32
        $this->assertContains('2018-05-03', $result, 'Last logged in date is shown');
33
    }
34
35
    public function testGetLastLoggedInReturnsNever()
36
    {
37
        $member = new Member();
38
        $member->write();
39
        $this->assertSame('Never', $member->getLastLoggedIn());
40
    }
41
}
42