Completed
Push — master ( a7a87c...85839c )
by Jason
02:12
created

PromoObjectTest::testCanDelete()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

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