silverstripe-comments/tests/CommentAdminTest.php

70 lines
1.9 KiB
PHP
Raw Normal View History

<?php
namespace SilverStripe\Comments\Tests;
use SilverStripe\Comments\Admin\CommentAdmin;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\i18n\i18n;
2016-02-19 01:48:25 +01:00
class CommentAdminTest extends SapphireTest
{
protected $usesDatabase = true;
2016-02-19 01:48:25 +01:00
public function testProvidePermissions()
{
$commentAdmin = new CommentAdmin();
$locale = i18n::get_locale();
i18n::set_locale('fr');
$expected = array(
'CMS_ACCESS_CommentAdmin' => array(
2017-09-18 04:16:24 +02:00
'name' => 'Accès à la section Commentaires',
'category' => 'Accès au CMS',
)
);
2017-09-18 04:16:24 +02:00
$this->assertEquals($expected, $commentAdmin->providePermissions());
i18n::set_locale($locale);
$expected = array(
'CMS_ACCESS_CommentAdmin' => array(
'name' => 'Access to \'Comments\' section',
'category' => 'CMS Access'
)
);
$this->assertEquals($expected, $commentAdmin->providePermissions());
2016-02-19 01:48:25 +01:00
}
2017-12-18 21:14:47 +01:00
2016-02-19 01:48:25 +01:00
public function testGetEditForm()
{
$commentAdmin = new CommentAdmin();
$this->logInWithPermission('CMS_ACCESS_CommentAdmin');
2016-02-19 01:48:25 +01:00
$form = $commentAdmin->getEditForm();
$names = $this->getFormFieldNames($form);
$expected = array(
'NewComments',
'ApprovedComments',
'SpamComments'
);
$this->assertEquals($expected, $names);
2016-02-19 01:48:25 +01:00
if ($member = Member::currentUser()) {
$member->logOut();
}
$form = $commentAdmin->getEditForm();
2016-02-19 01:48:25 +01:00
}
2016-02-19 01:48:25 +01:00
private function getFormFieldNames($form)
{
$result = array();
$fields = $form->Fields();
$tab = $fields->findOrMakeTab('Root');
$fields = $tab->FieldList();
foreach ($fields as $field) {
array_push($result, $field->getName());
}
return $result;
}
}