* @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; require_once('Zend/Config.php'); require_once('Zend/Config/Ini.php'); require_once('Zend/Form/Element/Select.php'); require_once(realpath('library/Icinga/Web/Form/BaseFormTest.php')); require_once(realpath('../../application/forms/Preference/GeneralForm.php')); require_once(realpath('../../library/Icinga/User/Preferences/ChangeSet.php')); require_once(realpath('../../library/Icinga/User/Preferences.php')); use Test\Icinga\Web\Form\BaseFormTest; use \Icinga\Web\Form; use \DOMDocument; use \Zend_Config; use \Zend_View; use Icinga\User\Preferences; /** * Test for general form, mainly testing enable/disable behaviour */ class GeneralFormTest extends \Test\Icinga\Web\Form\BaseFormTest { /** * Test whether fields using the default values have input disabled * */ public function testDisableFormIfUsingDefault() { date_default_timezone_set('UTC'); $form = $this->getRequestForm(array(), '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() { date_default_timezone_set('UTC'); $form = $this->getRequestForm(array(), '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' ); } }