Completed
Push — master ( 2846af...322d3e )
by Ingo
12:00
created

CampaignAdminListTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 36
rs 10
wmc 1
lcom 0
cbo 5

1 Method

Rating   Name   Duplication   Size   Complexity  
B testSchema() 0 33 1
1
<?php
2
3
namespace SilverStripe\Admin\Tests;
4
5
use SilverStripe\Admin\CampaignAdminList;
6
use SilverStripe\Control\Controller;
7
use SilverStripe\Dev\SapphireTest;
8
use SilverStripe\Forms\FieldList;
9
use SilverStripe\Forms\Form;
10
11
class CampaignAdminListTest extends SapphireTest
12
{
13
    public function testSchema() {
14
        $fields = new FieldList(
15
            $changesets = CampaignAdminList::create('ChangeSets')
16
        );
17
        $actions = new FieldList();
18
        Form::create(new Controller(), 'EditForm', $fields, $actions);
19
20
        $schema = $changesets->getSchemaData();
21
22
        // Check endpoint urls
23
        $this->assertEquals('admin/campaigns/sets', $schema['data']['collectionReadEndpoint']['url']);
24
        $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemReadEndpoint']['url']);
25
        $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemUpdateEndpoint']['url']);
26
        $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemCreateEndpoint']['url']);
27
        $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemDeleteEndpoint']['url']);
28
        $this->assertEquals('admin/campaigns/schema/DetailEditForm', $schema['data']['editFormSchemaEndpoint']);
29
30
        // Check summary fields
31
        $this->assertEquals([
32
            [
33
                'field' => 'Name',
34
                'name' => 'Title',
35
            ],
36
            [
37
                'field' => 'ChangesCount',
38
                'name' => 'Changes',
39
            ],
40
            [
41
                'field' => 'Description',
42
                'name' => 'Description',
43
            ]
44
        ], $schema['data']['columns']);
45
    }
46
}
47