-<?php\r
-\r
-class CRM_Price_Form_OptionTest extends CiviUnitTestCase {\r
-\r
- protected $priceFieldValues;\r
- protected $visibilityOptionsKeys;\r
- protected $visibilityOptions;\r
- protected $publicValue;\r
- protected $adminValue;\r
-\r
- public function setUp() {\r
- parent::setUp();\r
-\r
- $this->visibilityOptions = CRM_Price_BAO_PriceFieldValue::buildOptions('visibility_id', NULL, array(\r
- 'labelColumn' => 'name',\r
- ));\r
- $this->visibilityOptionsKeys = CRM_Price_BAO_PriceFieldValue::buildOptions('visibility_id', NULL, array(\r
- 'labelColumn' => 'name',\r
- 'flip' => TRUE,\r
- ));\r
- }\r
-\r
- public function testChangingUniquePublicOptionOnPublicFieldIsNotAllowed() {\r
- $this->setUpPriceSet(array(\r
- 'html_type' => 'Select',\r
- 'visibility_id' => $this->visibilityOptionsKeys['public'],\r
- 'option_label' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),\r
- 'option_value' => array('1' => 100, '2' => 200),\r
- 'option_name' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),\r
- 'option_weight' => array('1' => 1, '2' => 2),\r
- 'option_amount' => array('1' => 100, '2' => 200),\r
- 'option_visibility_id' => array(1 => $this->visibilityOptionsKeys['public'], 2 => $this->visibilityOptionsKeys['admin']),\r
- ));\r
-\r
- $params = array(\r
- 'fieldId' => $this->publicValue['price_field_id'],\r
- 'optionId' => $this->publicValue['id'],\r
- 'visibility_id' => $this->visibilityOptionsKeys['admin'],\r
- );\r
-\r
- $form = new CRM_Price_Form_Option();\r
- $form->_action = CRM_Core_Action::ADD;\r
- $files = array();\r
-\r
- $validationResult = $form->formRule($params, $files, $form);\r
- $this->assertType('array', $validationResult);\r
- $this->assertTrue(array_key_exists('visibility_id', $validationResult));\r
- }\r
-\r
- public function testAddingPublicOptionToAdminFieldIsNotAllowed() {\r
- $this->setUpPriceSet(array(\r
- 'html_type' => 'Select',\r
- 'visibility_id' => $this->visibilityOptionsKeys['admin'],\r
- 'option_label' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),\r
- 'option_value' => array('1' => 100, '2' => 200),\r
- 'option_name' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),\r
- 'option_weight' => array('1' => 1, '2' => 2),\r
- 'option_amount' => array('1' => 100, '2' => 200),\r
- 'option_visibility_id' => array(1 => $this->visibilityOptionsKeys['admin'], 2 => $this->visibilityOptionsKeys['admin']),\r
- ));\r
-\r
- $params = array(\r
- 'fieldId' => $this->adminValue['price_field_id'],\r
- 'optionId' => $this->adminValue['id'],\r
- 'visibility_id' => $this->visibilityOptionsKeys['public'],\r
- );\r
-\r
- $form = new CRM_Price_Form_Option();\r
- $form->_action = CRM_Core_Action::ADD;\r
- $files = array();\r
-\r
- $validationResult = $form->formRule($params, $files, $form);\r
- $this->assertType('array', $validationResult);\r
- $this->assertTrue(array_key_exists('visibility_id', $validationResult));\r
- }\r
-\r
- private function setUpPriceSet($params) {\r
- $priceSetCreateResult = $this->createPriceSet('contribution_page', NULL, $params);\r
-\r
- $this->priceFieldValues = $priceSetCreateResult['values'];\r
-\r
- foreach ($this->priceFieldValues as $currentField) {\r
- if ($this->visibilityOptions[$currentField['visibility_id']] == 'public') {\r
- $this->publicValue = $currentField;\r
- }\r
- else {\r
- $this->adminValue = $currentField;\r
- }\r
- }\r
- }\r
-\r
-}\r
+<?php
+
+class CRM_Price_Form_OptionTest extends CiviUnitTestCase {
+
+ protected $priceFieldValues;
+ protected $visibilityOptionsKeys;
+ protected $visibilityOptions;
+ protected $publicValue;
+ protected $adminValue;
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->visibilityOptions = CRM_Price_BAO_PriceFieldValue::buildOptions('visibility_id', NULL, array(
+ 'labelColumn' => 'name',
+ ));
+ $this->visibilityOptionsKeys = CRM_Price_BAO_PriceFieldValue::buildOptions('visibility_id', NULL, array(
+ 'labelColumn' => 'name',
+ 'flip' => TRUE,
+ ));
+ }
+
+ public function testChangingUniquePublicOptionOnPublicFieldIsNotAllowed() {
+ $this->setUpPriceSet(array(
+ 'html_type' => 'Select',
+ 'visibility_id' => $this->visibilityOptionsKeys['public'],
+ 'option_label' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),
+ 'option_value' => array('1' => 100, '2' => 200),
+ 'option_name' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),
+ 'option_weight' => array('1' => 1, '2' => 2),
+ 'option_amount' => array('1' => 100, '2' => 200),
+ 'option_visibility_id' => array(1 => $this->visibilityOptionsKeys['public'], 2 => $this->visibilityOptionsKeys['admin']),
+ ));
+
+ $params = array(
+ 'fieldId' => $this->publicValue['price_field_id'],
+ 'optionId' => $this->publicValue['id'],
+ 'visibility_id' => $this->visibilityOptionsKeys['admin'],
+ );
+
+ $form = new CRM_Price_Form_Option();
+ $form->_action = CRM_Core_Action::ADD;
+ $files = array();
+
+ $validationResult = $form->formRule($params, $files, $form);
+ $this->assertType('array', $validationResult);
+ $this->assertTrue(array_key_exists('visibility_id', $validationResult));
+ }
+
+ public function testAddingPublicOptionToAdminFieldIsNotAllowed() {
+ $this->setUpPriceSet(array(
+ 'html_type' => 'Select',
+ 'visibility_id' => $this->visibilityOptionsKeys['admin'],
+ 'option_label' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),
+ 'option_value' => array('1' => 100, '2' => 200),
+ 'option_name' => array('1' => 'Price Field 1', '2' => 'Price Field 2'),
+ 'option_weight' => array('1' => 1, '2' => 2),
+ 'option_amount' => array('1' => 100, '2' => 200),
+ 'option_visibility_id' => array(1 => $this->visibilityOptionsKeys['admin'], 2 => $this->visibilityOptionsKeys['admin']),
+ ));
+
+ $params = array(
+ 'fieldId' => $this->adminValue['price_field_id'],
+ 'optionId' => $this->adminValue['id'],
+ 'visibility_id' => $this->visibilityOptionsKeys['public'],
+ );
+
+ $form = new CRM_Price_Form_Option();
+ $form->_action = CRM_Core_Action::ADD;
+ $files = array();
+
+ $validationResult = $form->formRule($params, $files, $form);
+ $this->assertType('array', $validationResult);
+ $this->assertTrue(array_key_exists('visibility_id', $validationResult));
+ }
+
+ private function setUpPriceSet($params) {
+ $priceSetCreateResult = $this->createPriceSet('contribution_page', NULL, $params);
+
+ $this->priceFieldValues = $priceSetCreateResult['values'];
+
+ foreach ($this->priceFieldValues as $currentField) {
+ if ($this->visibilityOptions[$currentField['visibility_id']] == 'public') {
+ $this->publicValue = $currentField;
+ }
+ else {
+ $this->adminValue = $currentField;
+ }
+ }
+ }
+
+}