Completed
Pull Request — master (#338)
by Ingo
02:03
created

testItRestrictsQueryByCanView()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 13
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 8
nc 1
nop 0
1
<?php
2
3
namespace SilverStripe\AssetAdmin\Tests\GraphQL;
4
5
use SilverStripe\AssetAdmin\GraphQL\ReadFileQueryCreator;
6
use SilverStripe\AssetAdmin\Tests\Controller\AssetAdminTest\FileExtension;
7
use SilverStripe\AssetAdmin\Tests\Controller\AssetAdminTest\FolderExtension;
8
use SilverStripe\Assets\File;
9
use SilverStripe\Assets\Folder;
10
use SilverStripe\Dev\SapphireTest;
11
use GraphQL\Type\Definition\ResolveInfo;
12
use SilverStripe\GraphQL\Manager;
13
14
class ReadFileQueryCreatorTest extends SapphireTest
15
{
16
17
    protected $usesDatabase = true;
18
19
    public function setUp()
20
    {
21
        parent::setUp();
22
23
        File::add_extension(FileExtension::class);
24
        Folder::add_extension(FolderExtension::class);
25
    }
26
27
    public function tearDown()
28
    {
29
        File::remove_extension(FileExtension::class);
30
        Folder::remove_extension(FolderExtension::class);
31
32
        parent::tearDown();
33
    }
34
35
    /**
36
     * @expectedException \InvalidArgumentException
37
     * @expectedExceptionMessage view access not permitted
38
     */
39
    public function testItRestrictsQueryByCanView()
40
    {
41
        $folder = new Folder([
42
            'Name' => 'disallowCanView'
43
        ]);
44
        $folder->write();
45
46
        $args = [
47
            'parentId' => $folder->ID,
48
        ];
49
        $creator = new ReadFileQueryCreator(new Manager());
50
        $creator->resolveConnection(null, $args, null, new ResolveInfo([]));
51
    }
52
}
53