Merge pull request #185 from creative-commoners/pulls/1/fix-behat

FIX Remove any extra added tabs from SingleTabPage
This commit is contained in:
Guy Sartorelli 2024-06-13 16:49:57 +12:00 committed by GitHub
commit 4e241f5ebc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4,6 +4,7 @@ namespace SilverStripe\FrameworkTest\Model;
use Page;
use SilverStripe\Forms\RequiredFields;
use SilverStripe\Forms\Tab;
if (!class_exists(Page::class)) {
return;
@ -22,4 +23,22 @@ class SingleTabPage extends Page
'Content'
]);
}
public function getCMSFields()
{
$fields = parent::getCMSFields();
// Page may will extend CWP BasePage if running in a kitchen-sink context,
// so removing any extra tabs added - this class is for a "single tab" test
$tabFieldNames = [];
foreach ($fields->flattenFields() as $field) {
$fieldName = $field->getName();
if (is_a($field, Tab::class) && $fieldName !== 'Main') {
$tabFieldNames[] = $fieldName;
}
}
foreach ($tabFieldNames as $tabFieldName) {
$fields->removeByName($tabFieldName);
}
return $fields;
}
}