Passed
Pull Request — master (#49)
by Nic
02:53
created

DiscountPermissionTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

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