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

tests/CommentAdminTest.php (2 issues)

calls to non-existent methods.

Bug Major

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
class CommentAdminTest extends SapphireTest
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
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
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);
43
44
        if ($member = Member::currentUser()) {
45
            $member->logOut();
46
        }
47
48
        $form = $commentAdmin->getEditForm();
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