Completed
Push — master ( e42a4c...f187a0 )
by Daniel
03:17
created

CommentAdminTest::getFormFieldNames()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 11
Code Lines 8

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 11
rs 9.4285
cc 2
eloc 8
nc 2
nop 1
1
<?php
2
3
class CommentAdminTest extends SapphireTest
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
4
{
5
    public function testProvidePermissions()
6
    {
7
        $commentAdmin = new CommentAdmin();
8
        $locale = i18n::get_locale();
9
10
        i18n::set_locale('fr');
11
        $expected = array(
12
            'CMS_ACCESS_CommentAdmin' => array(
13
                # FIXME - this is a bug, missing from lang.yml files
14
                'name' => 'Access to \'Comments\' section',
15
                'category' => 'Accès au CMS'
16
            )
17
        );
18
        $this->assertEquals($expected, $commentAdmin->providePermissions());
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<CommentAdminTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
19
20
        i18n::set_locale($locale);
21
        $expected = array(
22
            'CMS_ACCESS_CommentAdmin' => array(
23
                # FIXME - this is a bug, missing from lang.yml files
24
                'name' => 'Access to \'Comments\' section',
25
                'category' => 'CMS Access'
26
            )
27
        );
28
        $this->assertEquals($expected, $commentAdmin->providePermissions());
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<CommentAdminTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
29
    }
30
31
    public function testGetEditForm()
32
    {
33
        $commentAdmin = new CommentAdmin();
34
        $this->logInWithPermission('CMS_ACCESS_CommentAdmin');
35
        $form = $commentAdmin->getEditForm();
36
        $names = $this->getFormFieldNames($form);
37
        $expected = array(
38
            'NewComments',
39
            'ApprovedComments',
40
            'SpamComments'
41
        );
42
        $this->assertEquals($expected, $names);
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<CommentAdminTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
43
44
        if ($member = Member::currentUser()) {
45
            $member->logOut();
46
        }
47
48
        $form = $commentAdmin->getEditForm();
0 ignored issues
show
Unused Code introduced by
$form is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
49
    }
50
51
    private function getFormFieldNames($form)
52
    {
53
        $result = array();
54
        $fields = $form->Fields();
55
        $tab = $fields->findOrMakeTab('Root');
56
        $fields = $tab->FieldList();
57
        foreach ($fields as $field) {
58
            array_push($result, $field->getName());
59
        }
60
        return $result;
61
    }
62
}
63