From 8f315e7962abe79ef604e217c20cbd03c391befc Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Fri, 1 Jul 2016 14:37:50 +1200 Subject: [PATCH] Namespaced model to get more 4.x test coverage --- .upgrade.yml | 6 +++++ code/BasicFieldsTestPage.php | 11 ++++++--- code/Company.php | 20 ++++++++++++--- code/Employee.php | 33 ++++++++++++++++--------- code/FileUploadRole.php | 2 ++ code/FrameworkTestFileExtension.php | 4 ++- code/FrameworkTestRole.php | 4 +++ code/FrameworkTestSiteTreeExtension.php | 2 ++ code/GridFieldTestPage.php | 13 ++++++---- code/Organisation.php | 7 +++++- code/RelationFieldsTestPage.php | 12 ++++++--- code/TestCategory.php | 13 ++++++++-- code/TestFileUploadPage.php | 3 +++ code/TestModelAdmin.php | 4 +-- code/TestPage.php | 19 ++++++++++++-- code/multiform/Page2MultiForm.php | 2 ++ code/multiform/Page3MultiForm.php | 2 ++ 17 files changed, 123 insertions(+), 34 deletions(-) create mode 100644 .upgrade.yml diff --git a/.upgrade.yml b/.upgrade.yml new file mode 100644 index 0000000..8764620 --- /dev/null +++ b/.upgrade.yml @@ -0,0 +1,6 @@ +mappings: + TestCategory: SilverStripe\FrameworkTest\Model\TestCategory + Company: SilverStripe\FrameworkTest\Model\Company + Employee: SilverStripe\FrameworkTest\Model\Employee + TestPage: SilverStripe\FrameworkTest\Model\TestPage + TestPage_Controller: SilverStripe\FrameworkTest\Model\TestPage_Controller diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index 6d1df97..113a5de 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -1,5 +1,10 @@ 'TestCategory', - 'GroupedDropdown' => 'TestCategory', + 'Dropdown' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', + 'GroupedDropdown' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', 'File' => 'File', 'AttachedFile' => 'File', 'Image' => 'Image', @@ -52,7 +57,7 @@ class BasicFieldsTestPage extends TestPage private static $many_many = array( 'ManyManyFiles' => 'File', - 'MultipleListboxField' => 'TestCategory', + 'MultipleListboxField' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', ); private static $defaults = array( diff --git a/code/Company.php b/code/Company.php index 3590248..269397f 100644 --- a/code/Company.php +++ b/code/Company.php @@ -1,8 +1,22 @@ 'Employee', + 'Employees' => 'SilverStripe\\FrameworkTest\\Model\\Employee', 'GroupPhotos' => 'Image' ); private static $many_many = array( - 'PastEmployees' => 'Employee' + 'PastEmployees' => 'SilverStripe\\FrameworkTest\\Model\\Employee' ); private static $many_many_extraFields = array( @@ -86,7 +100,7 @@ class Company extends DataObject public function requireDefaultRecords() { parent::requireDefaultRecords(); - $companySet = DataObject::get('Company'); + $companySet = DataObject::get('SilverStripe\\FrameworkTest\\Model\\Company'); foreach ($companySet as $company) { $company->delete(); } diff --git a/code/Employee.php b/code/Employee.php index 40e58ba..ccc11a1 100644 --- a/code/Employee.php +++ b/code/Employee.php @@ -1,31 +1,42 @@ 'Varchar', 'Biography' => 'HTMLText' ); - + private static $has_one = array( - 'Company' => 'Company', + 'Company' => 'SilverStripe\\FrameworkTest\\Model\\Company', 'ProfileImage' => 'Image' ); private static $belongs_many_many = array( - 'PastCompanies' => 'Company' + 'PastCompanies' => 'SilverStripe\\FrameworkTest\\Model\\Company' ); public function getCMSFields() { $fields = parent::getCMSFields(); - if (method_exists('ManyManyList', 'getExtraFields')) { + if (method_exists('SilverStripe\\ORM\\ManyManyList', 'getExtraFields')) { $fields->addFieldToTab('Root.Main', new NumericField('ManyMany[YearStart]', 'Year started (3.1, many-many only)') ); @@ -36,21 +47,21 @@ class Employee extends DataObject // 3.1 only if (method_exists('UploadField', 'setAllowedFileCategories')) { - $fields->dataFieldByName('ProfileImage')->setAllowedFileCategories('image'); + $fields->dataFieldByName('ProfileImageID')->setAllowedFileCategories('image'); } - + return $fields; } - + public function requireDefaultRecords() { parent::requireDefaultRecords(); - $employeeSet = DataObject::get('Employee'); + $employeeSet = DataObject::get('SilverStripe\\FrameworkTest\\Model\\Employee'); foreach ($employeeSet as $employee) { $employee->delete(); } - + foreach ($this->data() as $employeeName) { $employee = new Employee(); $employee->Name = $employeeName; @@ -67,7 +78,7 @@ class Employee extends DataObject } return $result; } - + /** * Contains test data * diff --git a/code/FileUploadRole.php b/code/FileUploadRole.php index 850772a..36aed75 100644 --- a/code/FileUploadRole.php +++ b/code/FileUploadRole.php @@ -1,4 +1,6 @@ 'Company', + 'Company' => 'SilverStripe\\FrameworkTest\\Model\\Company', 'BasicFieldsTestPage' => 'BasicFieldsTestPage' ); } diff --git a/code/FrameworkTestRole.php b/code/FrameworkTestRole.php index ca6ab48..c859f71 100644 --- a/code/FrameworkTestRole.php +++ b/code/FrameworkTestRole.php @@ -1,5 +1,9 @@ "Company", + "HasOneCompany" => "SilverStripe\\FrameworkTest\\Model\\Company", ); private static $has_many = array( - "HasManyCompanies" => "Company", + "HasManyCompanies" => "SilverStripe\\FrameworkTest\\Model\\Company", ); private static $many_many = array( - "ManyManyCompanies" => "Company", + "ManyManyCompanies" => "SilverStripe\\FrameworkTest\\Model\\Company", ); public function getCMSFields() @@ -21,7 +24,7 @@ class GridFieldTestPage extends TestPage $grids = array(); $config = new GridFieldConfig_RecordEditor(); - $grid = new GridField('Companies', 'Companies', new DataList('Company'), $config); + $grid = new GridField('Companies', 'Companies', new DataList('SilverStripe\\FrameworkTest\\Model\\Company'), $config); $fields->addFieldToTab('Root.NoRelation', $grid); $grids[] = $grid; @@ -72,7 +75,7 @@ class GridFieldTestPage_Controller extends Page_Controller { $config = new GridFieldConfig_RecordEditor(); - $grid = new GridField('Companies', 'Companies', new DataList('Company'), $config); + $grid = new GridField('Companies', 'Companies', new DataList('SilverStripe\\FrameworkTest\\Model\\Company'), $config); return new Form($this, 'Form', new FieldList($grid), new FieldList()); } } diff --git a/code/Organisation.php b/code/Organisation.php index 966663e..e8bc4ac 100644 --- a/code/Organisation.php +++ b/code/Organisation.php @@ -1,8 +1,13 @@ 'Text' diff --git a/code/RelationFieldsTestPage.php b/code/RelationFieldsTestPage.php index 0a68927..9c88c23 100644 --- a/code/RelationFieldsTestPage.php +++ b/code/RelationFieldsTestPage.php @@ -1,19 +1,23 @@ "Company", + "HasOneCompany" => "SilverStripe\\FrameworkTest\\Model\\Company", "HasOnePage" => "SiteTree", "HasOnePageWithSearch" => "SiteTree", ); private static $has_many = array( - "HasManyCompanies" => "Company", + "HasManyCompanies" => "SilverStripe\\FrameworkTest\\Model\\Company", "HasManyPages" => "SiteTree", ); private static $many_many = array( - "ManyManyCompanies" => "Company", + "ManyManyCompanies" => "SilverStripe\\FrameworkTest\\Model\\Company", "ManyManyPages" => "SiteTree", ); diff --git a/code/TestCategory.php b/code/TestCategory.php index 0c0339d..3459797 100644 --- a/code/TestCategory.php +++ b/code/TestCategory.php @@ -1,23 +1,32 @@ "Varchar", ); private static $belongs_many_many = array( "RelationPages" => "RelationFieldsTestPage", ); - + /** * Returns a dropdown map of all objects of this class */ public static function map() { - $categories = DataObject::get('TestCategory'); + $categories = DataObject::get('SilverStripe\\FrameworkTest\\Model\\TestCategory'); if ($categories) { return $categories->map('ID', 'Title')->toArray(); } else { diff --git a/code/TestFileUploadPage.php b/code/TestFileUploadPage.php index bb3f1f8..2e98146 100644 --- a/code/TestFileUploadPage.php +++ b/code/TestFileUploadPage.php @@ -1,5 +1,8 @@ class == 'TestPage') { + if ($this->class == 'SilverStripe\\FrameworkTest\\Model\\TestPage') { return; } @@ -40,7 +55,7 @@ class TestPage extends Page // Create actual page $page = new $class(); - $page->Title = str_replace("TestPage", "", $class); + $page->Title = str_replace("SilverStripe\\FrameworkTest\\Model\\TestPage", "", $class); $page->ShowInMenus = 0; if ($parent) { $page->ParentID = $parent->ID; diff --git a/code/multiform/Page2MultiForm.php b/code/multiform/Page2MultiForm.php index 45093ea..376b92c 100644 --- a/code/multiform/Page2MultiForm.php +++ b/code/multiform/Page2MultiForm.php @@ -1,5 +1,7 @@