diff --git a/api/v3/TwingleForm/Create.php b/api/v3/TwingleForm/Create.php new file mode 100644 index 0000000..dd7f526 --- /dev/null +++ b/api/v3/TwingleForm/Create.php @@ -0,0 +1,59 @@ + 'id', + 'title' => E::ts('TwingleProject ID'), + 'type' => CRM_Utils_Type::T_INT, + 'api.required' => 1, + 'description' => E::ts('ID of the TwingleProject campaign'), + ]; + $spec['page'] = [ + 'name' => 'page', + 'title' => E::ts('TwingleProject Page URL'), + 'type' => CRM_Utils_Type::T_STRING, + 'api.required' => 1, + 'description' => E::ts('URL of the TwingleProject Page'), + ]; +} + +/** + * TwingleForm.Create API + * + * @param array $params + * + * @return array + * API result descriptor + * + * @throws CiviCRM_API3_Exception + * @see civicrm_api3_create_success + * + */ +function civicrm_api3_twingle_form_Create(array $params): array { + + // filter parameters + $allowed_params = []; + _civicrm_api3_twingle_form_Create_spec($allowed_params); + $params = array_intersect_key($params, $allowed_params); + + $result = civicrm_api3('TwingleProject', 'create', $params); + + if ($result['is_error'] != 1) { + return civicrm_api3_create_success($result,$params,'TwingleForm', 'create',); + } + else { + return civicrm_api3_create_error( + 'Could not create TwingleForm: ' . $result['error_message'] + ); + } +} diff --git a/tests/phpunit/api/v3/TwingleForm/CreateTest.php b/tests/phpunit/api/v3/TwingleForm/CreateTest.php new file mode 100644 index 0000000..b2f62e0 --- /dev/null +++ b/tests/phpunit/api/v3/TwingleForm/CreateTest.php @@ -0,0 +1,53 @@ +installMe(__DIR__) + ->apply(); + } + + /** + * The setup() method is executed before the test is executed (optional). + */ + public function setUp() { + parent::setUp(); + } + + /** + * The tearDown() method is executed after the test was executed (optional) + * This can be used for cleanup. + */ + public function tearDown() { + parent::tearDown(); + } + + /** + * Simple example test case. + * + * Note how the function name begins with the word "test". + */ + public function testApiExample() { + $result = civicrm_api3('TwingleForm', 'Create', array('magicword' => 'sesame')); + $this->assertEquals('Twelve', $result['values'][12]['name']); + } + +}