ImageTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 32
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A tearDown() 0 3 1
A testGetPermissions() 0 25 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ApplicationTest\Model;
6
7
use Application\Model\Image;
8
use Application\Model\User;
9
use PHPUnit\Framework\TestCase;
10
11
class ImageTest extends TestCase
12
{
13
    protected function tearDown(): void
14
    {
15
        User::setCurrent(null);
16
    }
17
18
    public function testGetPermissions(): void
19
    {
20
        $image = new Image();
21
        $actual = $image->getPermissions();
22
        $expected = [
23
            'create' => false,
24
            'read' => true,
25
            'update' => false,
26
            'delete' => false,
27
        ];
28
        self::assertEquals($expected, $actual, 'should be able to get permissions as anonymous');
29
30
        // Make the current user as creator
31
        $user = new User();
32
        User::setCurrent($user);
33
        $image->timestampCreation();
34
35
        $actual2 = $image->getPermissions();
36
        $expected2 = [
37
            'create' => false,
38
            'read' => true,
39
            'update' => false,
40
            'delete' => false,
41
        ];
42
        self::assertEquals($expected2, $actual2, 'should be able to get permissions as creator');
43
    }
44
}
45