useTransaction(TRUE); } /** * Ensure only one option value exists after calling ensureOptionValueExists. */ public function testEnsureOptionGroupExistsExistingValue() { CRM_Core_BAO_OptionGroup::ensureOptionGroupExists(['name' => 'contribution_status']); $this->callAPISuccessGetSingle('OptionGroup', ['name' => 'contribution_status']); } /** * Ensure only one option value exists adds a new value. */ public function testEnsureOptionGroupExistsNewValue() { CRM_Core_BAO_OptionGroup::ensureOptionGroupExists(['name' => 'Bombed']); $optionGroups = $this->callAPISuccess('OptionValue', 'getoptions', ['context' => 'validate', 'field' => 'option_group_id'])['values']; $this->assertTrue(in_array('bombed', $optionGroups)); CRM_Core_BAO_OptionGroup::ensureOptionGroupExists(['name' => 'Bombed Again']); $optionGroups = $this->callAPISuccess('OptionValue', 'getoptions', ['context' => 'validate', 'field' => 'option_group_id'])['values']; $this->assertTrue(in_array('bombed_again', $optionGroups)); } }