mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
59efd280ad
Standardise template locations Move CMSSettingsController class to SiteConfig module Fix CMSMenu behaviour for namespaced admin sections Split classes into one per file Manual fixes and cleanup
85 lines
2.0 KiB
PHP
85 lines
2.0 KiB
PHP
<?php
|
|
|
|
use SilverStripe\ORM\DataObject;
|
|
use SilverStripe\Security\Permission;
|
|
use SilverStripe\Admin\ModelAdmin;
|
|
|
|
|
|
|
|
class ModelAdminTest extends FunctionalTest {
|
|
protected static $fixture_file = 'ModelAdminTest.yml';
|
|
|
|
protected $extraDataObjects = array(
|
|
'ModelAdminTest_Admin',
|
|
'ModelAdminTest_Contact',
|
|
'ModelAdminTest_Player'
|
|
);
|
|
|
|
public function testModelAdminOpens() {
|
|
$this->autoFollowRedirection = false;
|
|
$this->logInAs('admin');
|
|
$this->assertTrue((bool)Permission::check("ADMIN"));
|
|
$this->assertEquals(200, $this->get('ModelAdminTest_Admin')->getStatusCode());
|
|
}
|
|
|
|
public function testExportFieldsDefaultIsSummaryFields() {
|
|
$admin = new ModelAdminTest_Admin();
|
|
$admin->doInit();
|
|
$this->assertEquals(
|
|
$admin->getExportFields(),
|
|
ModelAdminTest_Contact::singleton()->summaryFields()
|
|
);
|
|
}
|
|
|
|
public function testExportFieldsOverloadedMethod() {
|
|
$admin = new ModelAdminTest_PlayerAdmin();
|
|
$admin->doInit();
|
|
$this->assertEquals($admin->getExportFields(), array(
|
|
'Name' => 'Name',
|
|
'Position' => 'Position'
|
|
));
|
|
}
|
|
|
|
}
|
|
|
|
class ModelAdminTest_Admin extends ModelAdmin implements TestOnly {
|
|
private static $url_segment = 'testadmin';
|
|
|
|
private static $managed_models = array(
|
|
'ModelAdminTest_Contact',
|
|
);
|
|
}
|
|
class ModelAdminTest_PlayerAdmin extends ModelAdmin implements TestOnly {
|
|
private static $url_segment = 'testadmin';
|
|
|
|
private static $managed_models = array(
|
|
'ModelAdminTest_Player'
|
|
);
|
|
|
|
public function getExportFields() {
|
|
return array(
|
|
'Name' => 'Name',
|
|
'Position' => 'Position'
|
|
);
|
|
}
|
|
}
|
|
class ModelAdminTest_Contact extends DataObject implements TestOnly {
|
|
private static $db = array(
|
|
'Name' => 'Varchar',
|
|
'Phone' => 'Varchar',
|
|
);
|
|
private static $summary_fields = array(
|
|
'Name' => 'Name',
|
|
'Phone' => 'Phone'
|
|
);
|
|
}
|
|
class ModelAdminTest_Player extends DataObject implements TestOnly {
|
|
private static $db = array(
|
|
'Name' => 'Varchar',
|
|
'Position' => 'Varchar',
|
|
);
|
|
private static $has_one = array(
|
|
'Contact' => 'ModelAdminTest_Contact'
|
|
);
|
|
}
|