Passed
Push — master ( ce5b30...8f6961 )
by Jason
02:09
created

FileListObjectTest::testCanCreate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 7
nc 1
nop 0
dl 0
loc 16
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Dynamic\Elements\FileList\Test\Model;
4
5
use Dynamic\Elements\FileList\Model\FileListObject;
6
use SilverStripe\Core\Injector\Injector;
7
use SilverStripe\Dev\SapphireTest;
8
use SilverStripe\Forms\FieldList;
9
use SilverStripe\Security\Member;
10
11
class FileListObjectTest extends SapphireTest
12
{
13
    /**
14
     * @var string
15
     */
16
    protected static $fixture_file = '../fixtures.yml';
17
18
    /**
19
     *
20
     */
21
    public function testGetCMSFields()
22
    {
23
        $object = $this->objFromFixture(FileListObject::class, 'one');
24
        $fields = $object->getCMSFields();
25
        $this->assertInstanceOf(FieldList::class, $fields);
26
    }
27
28
    /**
29
     *
30
     */
31
    public function testCanView()
32
    {
33
        /** @var FileListObject $object */
34
        $object = Injector::inst()->create(FileListObject::class);
35
36
        /** @var Member $admin */
37
        $admin = $this->objFromFixture(Member::class, 'admin');
38
        $this->assertTrue($object->canView($admin));
39
40
        /** @var Member $siteowner */
41
        $siteowner = $this->objFromFixture(Member::class, 'site-owner');
42
        $this->assertTrue($object->canView($siteowner));
43
44
        /** @var Member $member */
45
        $member = $this->objFromFixture(Member::class, 'default');
46
        $this->assertFalse($object->canView($member));
47
    }
48
49
    /**
50
     *
51
     */
52
    public function testCanEdit()
53
    {
54
        /** @var FileListObject $object */
55
        $object = Injector::inst()->create(FileListObject::class);
56
57
        /** @var Member $admin */
58
        $admin = $this->objFromFixture(Member::class, 'admin');
59
        $this->assertTrue($object->canEdit($admin));
60
61
        /** @var Member $siteowner */
62
        $siteowner = $this->objFromFixture(Member::class, 'site-owner');
63
        $this->assertTrue($object->canEdit($siteowner));
64
65
        /** @var Member $member */
66
        $member = $this->objFromFixture(Member::class, 'default');
67
        $this->assertFalse($object->canEdit($member));
68
    }
69
70
    /**
71
     *
72
     */
73
    public function testCanDelete()
74
    {
75
        /** @var FileListObject $object */
76
        $object = Injector::inst()->create(FileListObject::class);
77
78
        /** @var Member $admin */
79
        $admin = $this->objFromFixture(Member::class, 'admin');
80
        $this->assertTrue($object->canDelete($admin));
81
82
        /** @var Member $siteowner */
83
        $siteowner = $this->objFromFixture(Member::class, 'site-owner');
84
        $this->assertTrue($object->canDelete($siteowner));
85
86
        /** @var Member $member */
87
        $member = $this->objFromFixture(Member::class, 'default');
88
        $this->assertFalse($object->canDelete($member));
89
    }
90
91
    /**
92
     *
93
     */
94
    public function testCanCreate()
95
    {
96
        /** @var FileListObject $object */
97
        $object = Injector::inst()->create(FileListObject::class);
98
99
        /** @var Member $admin */
100
        $admin = $this->objFromFixture(Member::class, 'admin');
101
        $this->assertTrue($object->canCreate($admin));
102
103
        /** @var Member $siteowner */
104
        $siteowner = $this->objFromFixture(Member::class, 'site-owner');
105
        $this->assertTrue($object->canCreate($siteowner));
106
107
        /** @var Member $member */
108
        $member = $this->objFromFixture(Member::class, 'default');
109
        $this->assertFalse($object->canCreate($member));
110
    }
111
}
112