Merge pull request #105 from creative-commoners/pulls/4/behat-tests-elemental-area

MNT Behat-test fixtures for elemental area
This commit is contained in:
Guy Sartorelli 2022-05-11 09:38:22 +12:00 committed by GitHub
commit 5594c50133
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 65 additions and 2 deletions

View File

@ -10,8 +10,13 @@ SilverStripe\Assets\File:
---
Only:
classexists: 'DNADesign\Elemental\Extensions\ElementalPageExtension'
moduleexists: 'dnadesign/silverstripe-elemental'
---
SilverStripe\FrameworkTest\Model\TestPage:
extensions:
- DNADesign\Elemental\Extensions\ElementalPageExtension
SilverStripe\FrameworkTest\Elemental\Model\ElementalBehatTestObject:
extensions:
- DNADesign\Elemental\Extensions\ElementalAreasExtension
- SilverStripe\FrameworkTest\Elemental\Extension\ElementalBehatTestExtension

View File

@ -0,0 +1,17 @@
<?php
namespace SilverStripe\FrameworkTest\Elemental\Admin;
use SilverStripe\Admin\ModelAdmin;
use SilverStripe\FrameworkTest\Elemental\Model\ElementalBehatTestObject;
class ElementalBehatTestAdmin extends ModelAdmin
{
private static string $url_segment = 'elemental-behat-test-admin';
private static string $menu_title = 'Elemental Behat Test Admin';
private static string $menu_icon_class = 'font-icon-block-banner';
private static array $managed_models = [
ElementalBehatTestObject::class,
];
}

View File

@ -0,0 +1,15 @@
<?php
namespace SilverStripe\FrameworkTest\Elemental\Extension;
use DNADesign\Elemental\Models\ElementalArea;
use SilverStripe\ORM\DataExtension;
class ElementalBehatTestExtension extends DataExtension
{
private static $has_one = [
'ElementalArea' => ElementalArea::class,
];
private static $owns = ['ElementalArea'];
}

View File

@ -0,0 +1,26 @@
<?php
namespace SilverStripe\FrameworkTest\Elemental\Model;
use SilverStripe\FrameworkTest\Elemental\Admin\ElementalBehatTestAdmin;
use SilverStripe\Control\Controller;
use SilverStripe\ORM\DataObject;
class ElementalBehatTestObject extends DataObject
{
private static string $table_name = 'ElementalBehatTestObject';
public function CMSEditLink()
{
$admin = ElementalBehatTestAdmin::singleton();
$sanitisedClassname = str_replace('\\', '-', $this->ClassName);
return Controller::join_links(
$admin->Link($sanitisedClassname),
'EditForm/field/',
$sanitisedClassname,
'item',
$this->ID,
);
}
}