From 440c7cad35edb49a13547a432591b141cb7e72e1 Mon Sep 17 00:00:00 2001 From: Maxime Rainville Date: Fri, 23 Apr 2021 17:53:54 +1200 Subject: [PATCH] MNT Add test to cover TreeDropdownField::TreeBaseId --- tests/php/Forms/TreeDropdownFieldTest.php | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/php/Forms/TreeDropdownFieldTest.php b/tests/php/Forms/TreeDropdownFieldTest.php index c06bc54d7..c9619abff 100644 --- a/tests/php/Forms/TreeDropdownFieldTest.php +++ b/tests/php/Forms/TreeDropdownFieldTest.php @@ -8,6 +8,8 @@ use SilverStripe\Control\Session; use SilverStripe\Dev\CSSContentParser; use SilverStripe\Dev\SapphireTest; use SilverStripe\Control\HTTPRequest; +use SilverStripe\Forms\FieldList; +use SilverStripe\Forms\Form; use SilverStripe\Forms\TreeDropdownField; use SilverStripe\ORM\Tests\HierarchyTest\TestObject; @@ -246,4 +248,33 @@ class TreeDropdownFieldTest extends SapphireTest $result ); } + + public function testTreeBaseID() + { + $treeBaseID = $this->idFromFixture(Folder::class, 'folder1'); + $field = new TreeDropdownField('TestTree', 'Test tree', Folder::class); + + // getSchemaDataDefaults needs the field to be attach to a form + new Form( + null, + 'mock', + new FieldList($field) + ); + + $this->assertEmpty($field->getTreeBaseID(), 'TreeBaseId does not have an initial value'); + + $field->setTreeBaseID($treeBaseID); + $this->assertEquals( + $treeBaseID, + $field->getTreeBaseID(), + 'Value passed to setTreeBaseID is returned by getTreeBaseID' + ); + + $schema = $field->getSchemaDataDefaults(); + $this->assertEquals( + $treeBaseID, + $schema['data']['treeBaseId'], + 'TreeBaseId is included in the default schema data' + ); + } }