Completed
Push — master ( 02d548...e42a4c )
by Damian
02:25
created

CommentAdminTest::testGetEditForm()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 16
rs 9.4285
cc 2
eloc 12
nc 2
nop 0
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
	public function testProvidePermissions() {
5
        $commentAdmin = new CommentAdmin();
6
        $locale = i18n::get_locale();
7
8
        i18n::set_locale('fr');
9
        $expected = array(
10
            'CMS_ACCESS_CommentAdmin' => array(
11
                # FIXME - this is a bug, missing from lang.yml files
12
                'name' => 'Access to \'Comments\' section',
13
                'category' => 'Accès au CMS'
14
            )
15
        );
16
        $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...
17
18
        i18n::set_locale($locale);
19
        $expected = array(
20
            'CMS_ACCESS_CommentAdmin' => array(
21
                # FIXME - this is a bug, missing from lang.yml files
22
                'name' => 'Access to \'Comments\' section',
23
                'category' => 'CMS Access'
24
            )
25
        );
26
        $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...
27
	}
28
29
	public function testGetEditForm() {
30
        $commentAdmin = new CommentAdmin();
31
        $this->logInWithPermission('CMS_ACCESS_CommentAdmin');
32
		$form = $commentAdmin->getEditForm();
33
        $names = $this->getFormFieldNames($form);
34
        $expected = array(
35
            'NewComments',
36
            'ApprovedComments',
37
            'SpamComments'
38
        );
39
        $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...
40
41
        if($member = Member::currentUser()) $member->logOut();
42
43
        $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...
44
	}
45
46
    private function getFormFieldNames($form) {
47
        $result = array();
48
        $fields = $form->Fields();
49
        $tab = $fields->findOrMakeTab('Root');
50
        $fields = $tab->FieldList();
51
        foreach ($fields as $field) {
52
            array_push($result, $field->getName());
53
        }
54
        return $result;
55
    }
56
57
}
58