silverstripe-userforms/tests/php/Model/EditableFormField/EditableCountryDropdownFieldTest.php

63 lines
2.1 KiB
PHP
Raw Normal View History

<?php
namespace SilverStripe\UserForms\Tests\Model\EditableFormField;
use SilverStripe\Dev\SapphireTest;
2018-04-29 11:33:05 +02:00
use SilverStripe\Forms\DropdownField;
use SilverStripe\UserForms\Model\EditableFormField\EditableCountryDropdownField;
class EditableCountryDropdownFieldTest extends SapphireTest
{
public function testGetIcon()
{
$field = new EditableCountryDropdownField;
2021-11-01 21:52:58 +01:00
$this->assertStringContainsString('/images/editabledropdown.png', $field->getIcon());
}
public function testAllowEmptyTitle()
{
/** @var EditableCountryDropdownField $field */
$field = EditableCountryDropdownField::create();
$field->Name = 'EditableFormField_123456';
$this->assertEmpty($field->getFormField()->Title());
}
2018-04-29 11:33:05 +02:00
public function testCMSFieldsContainsDefaultValue()
{
/** @var EditableCountryDropdownField $field */
$field = EditableCountryDropdownField::create();
$cmsFields = $field->getCMSFields();
$defaultField = $cmsFields->dataFieldByName('Default');
$this->assertNotNull($defaultField);
$this->assertInstanceOf(DropdownField::class, $defaultField);
}
public function testDefaultValue()
{
/** @var EditableCountryDropdownField $field */
$field = EditableCountryDropdownField::create();
$field->Default = 'nz';
$this->assertEquals($field->getFormField()->Value(), 'nz');
}
public function testEmptyDefaultValue()
{
/** @var EditableCountryDropdownField $field */
$field = EditableCountryDropdownField::create();
/** @var DropdownField $formField */
$formField = $field->getFormField();
$this->assertFalse($formField->getHasEmptyDefault());
$this->assertEmpty($formField->getEmptyString());
$field->UseEmptyString = true;
$field->EmptyString = '--- empty ---';
/** @var DropdownField $formField */
$formField = $field->getFormField();
$this->assertTrue($formField->getHasEmptyDefault());
$this->assertEquals($formField->getEmptyString(), $field->EmptyString);
}
}