From 6d7d6ff9e245044fcd2ed46764f4da249778baff Mon Sep 17 00:00:00 2001 From: Nivanka Fonseka Date: Fri, 19 Jan 2018 13:07:55 +0530 Subject: [PATCH] readonly field namespaces are corrected and updated the unit tests with cases covering performReadonlyTrasnformation --- .../Readonly.php => ReadonlyTagField.php} | 5 ++--- src/StringTagField.php | 1 + src/TagField.php | 5 ++--- tests/TagFieldTest.php | 15 +++++++++++++++ 4 files changed, 20 insertions(+), 6 deletions(-) rename src/{TagField/Readonly.php => ReadonlyTagField.php} (87%) diff --git a/src/TagField/Readonly.php b/src/ReadonlyTagField.php similarity index 87% rename from src/TagField/Readonly.php rename to src/ReadonlyTagField.php index 183f0b0..505a2ad 100644 --- a/src/TagField/Readonly.php +++ b/src/ReadonlyTagField.php @@ -1,9 +1,8 @@ setSourceList($source); parent::__construct($name, $title, $source, $value); @@ -447,7 +446,7 @@ class TagField extends DropdownField */ public function performReadonlyTransformation() { - $copy = $this->castedCopy(TagFieldReadonly::class); + $copy = $this->castedCopy(ReadonlyTagField::class); $copy->setSourceList($this->getSourceList()); return $copy; } diff --git a/tests/TagFieldTest.php b/tests/TagFieldTest.php index 50c27d8..9f9b566 100755 --- a/tests/TagFieldTest.php +++ b/tests/TagFieldTest.php @@ -7,12 +7,15 @@ use SilverStripe\Dev\SapphireTest; use SilverStripe\Dev\TestOnly; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\Form; +use SilverStripe\ORM\ArrayList; use SilverStripe\ORM\DataList; use SilverStripe\ORM\DataObject; +use SilverStripe\TagField\ReadonlyTagField; use SilverStripe\TagField\TagField; use SilverStripe\TagField\Tests\Stub\TagFieldTestBlogPost; use SilverStripe\TagField\Tests\Stub\TagFieldTestBlogTag; use SilverStripe\TagField\Tests\Stub\TagFieldTestController; +use SilverStripe\View\ArrayData; /** * @mixin PHPUnit_Framework_TestCase @@ -342,4 +345,16 @@ class TagFieldTest extends SapphireTest $record->Tags()->first()->ID ); } + + + /** + * Test read only fields are returned + */ + public function testReadonlyTransformation() + { + $field = new TagField('Tags', '', TagFieldTestBlogTag::get()); + $readOnlyField = $field->performReadonlyTransformation(); + $this->assertEquals(ReadonlyTagField::class, get_class($readOnlyField)); + + } }