Passed
Pull Request — master (#754)
by Robbie
03:21
created

EditableTextFieldTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 24
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetCmsFields() 0 10 1
A testAllowEmptyTitle() 0 10 1
1
<?php
2
3
namespace SilverStripe\UserForms\Tests\Model\EditableFormField;
4
5
use SilverStripe\Core\Config\Config;
6
use SilverStripe\Dev\SapphireTest;
7
use SilverStripe\Forms\DropdownField;
8
use SilverStripe\UserForms\Model\EditableFormField\EditableTextField;
9
10
class EditableTextFieldTest extends SapphireTest
11
{
12
    public function testGetCmsFields()
13
    {
14
        Config::modify()->set(EditableTextField::class, 'autocomplete_options', ['foo' => 'foo']);
15
16
        $field = new EditableTextField;
17
        $result = $field->getCMSFields();
18
19
        $autocompleteField = $result->fieldByName('Root.Main.Autocomplete');
20
        $this->assertInstanceOf(DropdownField::class, $autocompleteField);
21
        $this->assertEquals(['foo' => 'foo'], $autocompleteField->getSource());
22
    }
23
24
    public function testAllowEmptyTitle()
25
    {
26
        /** @var EditableTextField $field */
27
        $field = EditableTextField::create();
28
        $field->Name = 'EditableFormField_123456';
29
        $field->Rows = 1;
0 ignored issues
show
Bug Best Practice introduced by
The property Rows does not exist on SilverStripe\UserForms\M...Field\EditableTextField. Since you implemented __set, consider adding a @property annotation.
Loading history...
30
        $this->assertEmpty($field->getFormField()->Title());
31
32
        $field->Rows = 3;
33
        $this->assertEmpty($field->getFormField()->Title());
34
    }
35
}
36