diff --git a/tests/FieldsBuilderTest.php b/tests/FieldsBuilderTest.php index dc2c43b..8b61f0d 100644 --- a/tests/FieldsBuilderTest.php +++ b/tests/FieldsBuilderTest.php @@ -3,7 +3,6 @@ namespace StoutLogic\AcfBuilder\Tests; use StoutLogic\AcfBuilder\FieldsBuilder; -use StoutLogic\AcfBuilder\GroupBuilder; class FieldsBuilderTest extends \PHPUnit_Framework_TestCase { @@ -1233,6 +1232,58 @@ public function testModifyFieldWithClosureReturningFieldsBuilder() $this->assertArraySubset($expectedConfig, $builder->build()); } + public function testModifyFieldWorkingWithAddFields() + { + $settingsTab = new FieldsBuilder('settings_tab'); + + $settingsTab + ->addTab('settings') + ->addAccordion('settings_buttons') + ->addTrueFalse('show_button') + ->addAccordion('settings_buttons_endpoint')->endpoint(); + + $banner = new FieldsBuilder('banner'); + + $banner + ->addGroup('group') + ->addFields($settingsTab); + + $banner + ->modifyField('group->settings_tab->settings_buttons_accordion', function ($builder) { + $builder->addText('sub_title'); + return $builder; + }); + + $expectedConfig = [ + 'fields' => [ + [ + 'name' => 'group', + 'type' => 'group', + 'sub_fields' => [ + [ + 'name' => 'settings_tab', + 'type' => 'tab', + ], + [ + 'name' => 'settings_buttons_accordion', + 'type' => 'accordion', + ], + [ + 'name' => 'sub_title', + 'type' => 'text', + ], + [ + 'name' => 'show_button', + 'type' => 'true_false', + ], + ], + ], + ], + ]; + + $this->assertArraySubset($expectedConfig, $banner->build()); + } + public function testRemoveField() { $builder = new FieldsBuilder('Banner');