Passed
Pull Request — 1 (#134)
by Robbie
02:33
created

testAddToCampaignButtonIsNotAddedWhenUserDoesNotHavePermission()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 11
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace SilverStripe\CampaignAdmin\Tests;
4
5
use SilverStripe\CampaignAdmin\SiteTreeExtension;
6
use SilverStripe\CMS\Model\SiteTree;
7
use SilverStripe\Dev\SapphireTest;
8
9
class SiteTreeExtensionTest extends SapphireTest
10
{
11
    protected $usesDatabase = true;
12
13
    protected static $required_extensions = [
14
        SiteTree::class => [
15
            SiteTreeExtension::class,
16
        ],
17
    ];
18
19
    public function testAddToCampaignButtonIsAdded()
20
    {
21
        $this->logInWithPermission();
22
23
        $page = new SiteTree();
24
        $page->write();
25
        $actions = $page->getCMSActions();
26
27
        $informationField = $actions->fieldByName('ActionMenus.MoreOptions.action_addtocampaign');
28
        $this->assertNotNull($informationField, 'Add To Campaign button should have been added');
29
    }
30
31
    public function testAddToCampaignButtonIsNotAddedWhenUserDoesNotHavePermission()
32
    {
33
        $this->logInWithPermission('EDIT_PERMISSIONS');
34
35
        $page = new SiteTree();
36
        $page->write();
37
        $page->publishSingle();
38
        $actions = $page->getCMSActions();
39
40
        $informationField = $actions->fieldByName('ActionMenus.MoreOptions.action_addtocampaign');
41
        $this->assertNull($informationField, 'Add To Campaign button should not have been added when published');
42
    }
43
}
44