HasApiTokensTest::testTokenCanBeCreated()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 1 Features 1
Metric Value
eloc 10
c 2
b 1
f 1
dl 0
loc 15
rs 9.9332
cc 1
nc 1
nop 0
1
<?php
2
3
namespace ByTIC\Hello\Tests\Models\Traits;
4
5
use ByTIC\Hello\Models\AccessTokens\Token;
6
use ByTIC\Hello\Models\AccessTokens\Tokens;
7
use ByTIC\Hello\Models\Clients\PersonalAccess\TokenFactory;
8
use ByTIC\Hello\Tests\AbstractTest;
9
use ByTIC\Hello\Tests\Fixtures\Models\Users\User;
10
use Mockery as m;
11
use Nip\Container\Container;
12
use Nip\Records\Locator\ModelLocator;
13
14
/**
15
 * Class HasApiTokensTest
16
 * @package ByTIC\Hello\Tests\Models\Traits
17
 */
18
class HasApiTokensTest extends AbstractTest
19
{
20
    public function testTokenCanBeCreated()
21
    {
22
        $container = Container::getInstance();
23
24
        $factory = m::mock();
25
        $factory->shouldReceive('make')->once()->with('users|1', 'name', ['scopes']);
26
        $container->share(TokenFactory::class, $factory);
27
28
        $tokens = m::mock(Tokens::class)->makePartial();
29
        $tokens->shouldReceive('getByIdentifier')->andReturn(new Token());
30
        ModelLocator::set(Tokens::class, $tokens);
0 ignored issues
show
Bug introduced by
$tokens of type Mockery\Mock is incompatible with the type Nip\Records\AbstractModels\RecordManager expected by parameter $entityManager of Nip\Records\Locator\ModelLocator::set(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

30
        ModelLocator::set(Tokens::class, /** @scrutinizer ignore-type */ $tokens);
Loading history...
31
32
        $user = new User();
33
        $user->setIdentifier('users|1');
34
        $user->createToken('name', ['scopes']);
35
    }
36
}
37