JobCategoryTest::testGetCMSFields()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

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