6 class RequestTest
extends \CiviUnitTestCase
{
11 public function validEntityActionPairs() {
14 ['MyEntity', 'MyAction', 3],
15 ['MyEntity', 'myaction', 3],
18 ['my+entity', 'MyAction', 3],
19 ['MyEntity', 'myaction', 3],
22 ['my entity with under_scores', 'My_Action', 3],
23 ['MyEntityWithUnderScores', 'my_action', 3],
26 ['u_f_match', 'get Something', 3],
27 ['UFMatch', 'get_something', 3],
33 * @dataProvider validEntityActionPairs
36 * @throws \API_Exception
38 public function testCreateRequest_EntityActionMunging($input, $expected) {
39 list ($inEntity, $inAction, $inVersion) = $input;
40 $apiRequest = Request
::create($inEntity, $inAction, ['version' => $inVersion], NULL);
41 $this->assertEquals($expected, [$apiRequest['entity'], $apiRequest['action'], $apiRequest['version']]);
47 public function invalidEntityActionPairs() {
49 $cases[] = ['Not!Valid', 'create', 4];
50 $cases[] = ['My+Entity', 'MyAction', 4];
51 $cases[] = ['My Entity', 'MyAction', 4];
52 $cases[] = ['2MyEntity', 'MyAction', 4];
53 $cases[] = ['MyEntity', 'My+Action', 4];
54 $cases[] = ['MyEntity', 'My Action', 4];
55 $cases[] = ['MyEntity', '2Action', 4];
60 * @dataProvider invalidEntityActionPairs
61 * @expectedException \Civi\API\Exception\NotImplementedException
65 * @throws \Civi\API\Exception\NotImplementedException
67 public function testCreateRequest_InvalidEntityAction($inEntity, $inAction, $inVersion) {
68 Request
::create($inEntity, $inAction, ['version' => $inVersion], NULL);