RefreshTokenProviderSpec   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 7
lcom 0
cbo 4
dl 0
loc 42
rs 10
c 0
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A let() 0 5 1
A it_is_initializable() 0 4 1
A it_gets_username() 0 6 1
A it_not_gets_username() 0 6 1
A it_loads_by_username() 0 4 1
A it_refresh_user() 0 4 1
A it_supports_class() 0 4 1
1
<?php
2
3
namespace spec\Gesdinet\JWTRefreshTokenBundle\Security\Provider;
4
5
use Gesdinet\JWTRefreshTokenBundle\Model\RefreshTokenInterface;
6
use Gesdinet\JWTRefreshTokenBundle\Model\RefreshTokenManagerInterface;
7
use PhpSpec\ObjectBehavior;
8
use Prophecy\Argument;
9
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
10
use Symfony\Component\Security\Core\User\UserInterface;
11
12
class RefreshTokenProviderSpec extends ObjectBehavior
13
{
14
    public function let(RefreshTokenManagerInterface $refreshTokenManager, RefreshTokenInterface $refreshToken)
15
    {
16
        $refreshToken->getUsername()->willReturn('testname');
17
        $this->beConstructedWith($refreshTokenManager);
18
    }
19
20
    public function it_is_initializable()
21
    {
22
        $this->shouldHaveType('Gesdinet\JWTRefreshTokenBundle\Security\Provider\RefreshTokenProvider');
23
    }
24
25
    public function it_gets_username($refreshToken, $refreshTokenManager)
26
    {
27
        $refreshTokenManager->get(Argument::any())->willReturn($refreshToken);
28
29
        $this->getUsernameForRefreshToken(Argument::any())->shouldBe('testname');
30
    }
31
32
    public function it_not_gets_username($refreshTokenManager)
33
    {
34
        $refreshTokenManager->get(Argument::any())->willReturn(null);
35
36
        $this->getUsernameForRefreshToken(Argument::any())->shouldBe(null);
37
    }
38
39
    public function it_loads_by_username()
40
    {
41
        $this->loadUserByUsername('testname');
42
    }
43
44
    public function it_refresh_user(UserInterface $user)
45
    {
46
        $this->shouldThrow(new UnsupportedUserException())->duringRefreshUser($user);
47
    }
48
49
    public function it_supports_class()
50
    {
51
        $this->supportsClass('Symfony\Component\Security\Core\User\User')->shouldBe(true);
52
    }
53
}
54