Passed
Pull Request — master (#24)
by Damian
02:11
created

MemberExtensionTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: simon
5
 * Date: 02-Dec-17
6
 * Time: 11:30
7
 */
8
9
namespace Firesphere\GraphQLJWT\Tests;
10
11
use Firesphere\GraphQLJWT\Extensions\MemberExtension;
12
use SilverStripe\Core\Config\Config;
13
use SilverStripe\Core\Convert;
14
use SilverStripe\Dev\SapphireTest;
15
use SilverStripe\Security\Member;
16
17
class MemberExtensionTest extends SapphireTest
18
{
19
    protected static $fixture_file = '../fixtures/JWTAuthenticatorTest.yml';
20
21
    public function testMemberExists()
22
    {
23
        /** @var Member|MemberExtension $member */
24
        $member = $this->objFromFixture(Member::class, 'admin');
25
26
        $data = $member->getJWTData();
27
        $result = Convert::json2obj($data);
28
29
        $this->assertEquals($member->Email, $result->userName);
30
    }
31
32
    public function testExtraMemberData()
33
    {
34
        /** @var Member|MemberExtension $member */
35
        $member = $this->objFromFixture(Member::class, 'admin');
36
        $member->Surname = 'Member';
37
        Config::modify()->set(Member::class, 'jwt_subject_fields', ['FirstName', 'Surname']);
38
39
        $data = $member->getJWTData();
40
        $result = Convert::json2obj($data);
41
42
        $this->assertEquals('Admin', $result->firstName);
43
        $this->assertEquals('Member', $result->surname);
44
    }
45
46
    public function testNoMember()
47
    {
48
        /** @var Member|MemberExtension $memberl */
49
        $memberl = Member::create();
50
        $data = $memberl->getJWTData();
51
        $result = Convert::json2array($data);
52
53
        $this->assertEquals(0, $result['id']);
54
    }
55
}
56