FeatureObjectTest::testCanDelete()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

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