* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL, version 2 * @author Icinga Development Team */ // {{{ICINGA_LICENSE_HEADER}}} namespace Test\Icinga\Form\Preference; // @codingStandardsIgnoreStart require_once realpath(__DIR__ . '/../../../../../library/Icinga/Test/BaseTestCase.php'); // @codingStandardsIgnoreEnd use Icinga\Test\BaseTestCase; // @codingStandardsIgnoreStart require_once 'Zend/Config.php'; require_once 'Zend/Config/Ini.php'; require_once 'Zend/Form/Element/Select.php'; require_once BaseTestCase::$libDir . '/User/Preferences.php'; require_once BaseTestCase::$libDir . '/Web/Form.php'; require_once BaseTestCase::$appDir . '/forms/Preference/GeneralForm.php'; require_once BaseTestCase::$libDir . '/User/Preferences/ChangeSet.php'; // @codingStandardsIgnoreEnd use \Icinga\Web\Form; use \Zend_Config; use Icinga\User\Preferences; /** * Test for general form, mainly testing enable/disable behaviour */ class GeneralFormTest extends BaseTestCase { /** * Test whether fields using the default values have input disabled * */ public function testDisableFormIfUsingDefault() { $this->requireFormLibraries(); $form = $this->createForm('Icinga\Form\Preference\GeneralForm'); $form->setRequest($this->getRequest()); $form->setConfiguration( new Zend_Config( array( 'timezone' => 'UTC' ) ) ); $form->setUserPreferences( new Preferences( array() ) ); $form->create(); $this->assertSame( 1, $form->getElement('timezone')->getAttrib('disabled'), 'Asserting form elements to be disabled when not set in a preference' ); } /** * Test whether fields with preferences are enabled * */ public function testEnsableFormIfUsingPreference() { $this->requireFormLibraries(); $form = $this->createForm('Icinga\Form\Preference\GeneralForm'); $form->setRequest($this->getRequest()); $form->setConfiguration( new Zend_Config( array( 'timezone' => 'UTC' ) ) ); $form->setUserPreferences( new Preferences( array( 'app.timezone' => 'Europe/Berlin' ) ) ); $form->create(); $this->assertSame( null, $form->getElement('timezone')->getAttrib('disabled'), 'Asserting form elements to be disabled when not set in a preference' ); } }