From 12aad64972cc8bdbb7f7849ccee41f71eb403ec9 Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Tue, 22 Aug 2017 12:15:22 +1200 Subject: [PATCH] FIX Update namespacing and include paths in new multiple option field tests --- .../EditableCheckboxGroupField.php | 3 ++- code/Model/Recipient/EmailRecipient.php | 3 ++- .../Form}/Includes/UserFormFields.ss | 0 .../SilverStripe/UserForms/Form/UserForm.ss | 4 +-- tests/EditableCheckboxGroupFieldTest.php | 15 ----------- tests/EditableRadioFieldTest.php | 15 ----------- .../EditableCheckboxGroupFieldTest.php | 21 ++++++++++++++++ .../EditableRadioFieldTest.php | 25 +++++++++++++++++++ .../EditableTextFieldTest.php | 14 ++++++++--- .../Recipient/EmailRecipientTest.php} | 14 ++++++++--- .../Recipient/EmailRecipientTest.yml} | 2 +- 11 files changed, 73 insertions(+), 43 deletions(-) rename templates/{ => SilverStripe/UserForms/Form}/Includes/UserFormFields.ss (100%) delete mode 100644 tests/EditableCheckboxGroupFieldTest.php delete mode 100644 tests/EditableRadioFieldTest.php create mode 100644 tests/Model/EditableFormField/EditableCheckboxGroupFieldTest.php create mode 100644 tests/Model/EditableFormField/EditableRadioFieldTest.php rename tests/{model/recipients/UserDefinedForm_EmailRecipientTest.php => Model/Recipient/EmailRecipientTest.php} (59%) rename tests/{model/recipients/UserDefinedForm_EmailRecipientTest.yml => Model/Recipient/EmailRecipientTest.yml} (63%) diff --git a/code/Model/EditableFormField/EditableCheckboxGroupField.php b/code/Model/EditableFormField/EditableCheckboxGroupField.php index b5992bc..4a04a48 100755 --- a/code/Model/EditableFormField/EditableCheckboxGroupField.php +++ b/code/Model/EditableFormField/EditableCheckboxGroupField.php @@ -26,7 +26,8 @@ class EditableCheckboxGroupField extends EditableMultipleOptionField public function getFormField() { $field = UserFormsCheckboxSetField::create($this->Name, $this->EscapedTitle, $this->getOptionsMap()) - ->setFieldHolderTemplate(EditableMultipleOptionField::class . '_holder'); + ->setFieldHolderTemplate(EditableMultipleOptionField::class . '_holder') + ->setTemplate(UserFormsCheckboxSetField::class); // Set the default checked items $defaultCheckedItems = $this->getDefaultOptions(); diff --git a/code/Model/Recipient/EmailRecipient.php b/code/Model/Recipient/EmailRecipient.php index ebd3167..07f8030 100644 --- a/code/Model/Recipient/EmailRecipient.php +++ b/code/Model/Recipient/EmailRecipient.php @@ -26,6 +26,7 @@ use SilverStripe\Forms\TextareaField; use SilverStripe\Forms\TextField; use SilverStripe\ORM\ArrayList; use SilverStripe\ORM\DataObject; +use SilverStripe\ORM\FieldType\DBField; use SilverStripe\UserForms\Model\EditableFormField\EditableEmailField; use SilverStripe\UserForms\Model\EditableFormField; use SilverStripe\UserForms\Model\EditableFormField\EditableMultipleOptionField; @@ -504,7 +505,7 @@ class EmailRecipient extends DataObject public function getEmailBodyContent() { if ($this->SendPlain) { - return DBField::create_field('HTMLText', $this->EmailBody)->NoHTML(); + return DBField::create_field('HTMLText', $this->EmailBody)->Plain(); } return DBField::create_field('HTMLText', $this->EmailBodyHtml)->RAW(); } diff --git a/templates/Includes/UserFormFields.ss b/templates/SilverStripe/UserForms/Form/Includes/UserFormFields.ss similarity index 100% rename from templates/Includes/UserFormFields.ss rename to templates/SilverStripe/UserForms/Form/Includes/UserFormFields.ss diff --git a/templates/SilverStripe/UserForms/Form/UserForm.ss b/templates/SilverStripe/UserForms/Form/UserForm.ss index 16f8afd..76ebec9 100644 --- a/templates/SilverStripe/UserForms/Form/UserForm.ss +++ b/templates/SilverStripe/UserForms/Form/UserForm.ss @@ -12,11 +12,11 @@ <% if $Legend %>
$Legend - <% include UserFormFields %> + <% include SilverStripe\\UserForms\\Form\\UserFormFields %>
<% else %>
- <% include UserFormFields %> + <% include SilverStripe\\UserForms\\Form\\UserFormFields %>
<% end_if %> diff --git a/tests/EditableCheckboxGroupFieldTest.php b/tests/EditableCheckboxGroupFieldTest.php deleted file mode 100644 index 47f2b0f..0000000 --- a/tests/EditableCheckboxGroupFieldTest.php +++ /dev/null @@ -1,15 +0,0 @@ -objFromFixture('EditableCheckboxGroupField', 'checkbox-group'); - $this->assertEquals('UserFormsCheckboxSetField', $checkboxGroup->getFormField()->getTemplate()); - } -} diff --git a/tests/EditableRadioFieldTest.php b/tests/EditableRadioFieldTest.php deleted file mode 100644 index 825785a..0000000 --- a/tests/EditableRadioFieldTest.php +++ /dev/null @@ -1,15 +0,0 @@ -objFromFixture('EditableRadioField', 'radio-field'); - $this->assertEquals('UserFormsOptionSetField', $radio->getFormField()->getTemplate()); - } -} diff --git a/tests/Model/EditableFormField/EditableCheckboxGroupFieldTest.php b/tests/Model/EditableFormField/EditableCheckboxGroupFieldTest.php new file mode 100644 index 0000000..cc25b05 --- /dev/null +++ b/tests/Model/EditableFormField/EditableCheckboxGroupFieldTest.php @@ -0,0 +1,21 @@ +objFromFixture(EditableCheckboxGroupField::class, 'checkbox-group'); + $this->assertSame(UserFormsCheckboxSetField::class, $checkboxGroup->getFormField()->getTemplate()); + } +} diff --git a/tests/Model/EditableFormField/EditableRadioFieldTest.php b/tests/Model/EditableFormField/EditableRadioFieldTest.php new file mode 100644 index 0000000..c1faefc --- /dev/null +++ b/tests/Model/EditableFormField/EditableRadioFieldTest.php @@ -0,0 +1,25 @@ +objFromFixture(EditableRadioField::class, 'radio-field'); + $this->assertSame( + 'SilverStripe\\UserForms\\FormField\\UserFormsOptionSetField', + $radio->getFormField()->getTemplate() + ); + } +} diff --git a/tests/Model/EditableFormField/EditableTextFieldTest.php b/tests/Model/EditableFormField/EditableTextFieldTest.php index 19e0503..1a994d5 100644 --- a/tests/Model/EditableFormField/EditableTextFieldTest.php +++ b/tests/Model/EditableFormField/EditableTextFieldTest.php @@ -1,17 +1,23 @@ remove('EditableTextField', 'autocomplete_options'); - Config::inst()->update('EditableTextField', 'autocomplete_options', array('foo' => 'foo')); + Config::modify()->set(EditableTextField::class, 'autocomplete_options', ['foo' => 'foo']); $field = new EditableTextField; $result = $field->getCMSFields(); $autocompleteField = $result->fieldByName('Root.Main.Autocomplete'); - $this->assertInstanceOf('DropdownField', $autocompleteField); - $this->assertEquals(array('foo' => 'foo'), $autocompleteField->getSource()); + $this->assertInstanceOf(DropdownField::class, $autocompleteField); + $this->assertEquals(['foo' => 'foo'], $autocompleteField->getSource()); } } diff --git a/tests/model/recipients/UserDefinedForm_EmailRecipientTest.php b/tests/Model/Recipient/EmailRecipientTest.php similarity index 59% rename from tests/model/recipients/UserDefinedForm_EmailRecipientTest.php rename to tests/Model/Recipient/EmailRecipientTest.php index 237560a..92c95bb 100644 --- a/tests/model/recipients/UserDefinedForm_EmailRecipientTest.php +++ b/tests/Model/Recipient/EmailRecipientTest.php @@ -1,14 +1,20 @@ objFromFixture('SiteTree', 'about_us'); + $page = $this->objFromFixture(SiteTree::class, 'about_us'); - $recipient = UserDefinedForm_EmailRecipient::create(); + $recipient = EmailRecipient::create(); $recipient->SendPlain = false; $recipient->EmailBodyHtml = '

Some email content. About us: [sitetree_link,id=' . $page->ID . '].

'; diff --git a/tests/model/recipients/UserDefinedForm_EmailRecipientTest.yml b/tests/Model/Recipient/EmailRecipientTest.yml similarity index 63% rename from tests/model/recipients/UserDefinedForm_EmailRecipientTest.yml rename to tests/Model/Recipient/EmailRecipientTest.yml index 7ff28c7..1b60911 100644 --- a/tests/model/recipients/UserDefinedForm_EmailRecipientTest.yml +++ b/tests/Model/Recipient/EmailRecipientTest.yml @@ -1,4 +1,4 @@ -SiteTree: +SilverStripe\CMS\Model\SiteTree: about_us: Title: About Us URLSegment: about-us