Documentation

api_v3_GrantTest extends TestCase
in package
implements HeadlessInterface, TransactionalInterface uses Api3TestTrait, ContactTestTrait, EntityTrait

Test APIv3 civicrm_grant* functions

Tags
subpackage

API_Grant

group

headless

Table of Contents

Interfaces

HeadlessInterface
Interface HeadlessInterface
TransactionalInterface
Interface HeadlessInterface

Properties

$apiversion  : int
API version to use for any api calls.
$_apiversion  : mixed
$_entity  : string
$ids  : mixed
$params  : array<string|int, mixed>
$tablesToCleanUp  : array<string|int, mixed>
Track tables we have modified during a test.
$testRecords  : array<string|int, mixed>
Records created which will be deleted during tearDown

Methods

assertAPIArrayComparison()  : mixed
Check that api returned 'is_error' => 1 else provide full message
assertAPIDeleted()  : mixed
Check that a deleted item has been deleted.
assertAPIFailure()  : void
Check that api returned 'is_error' => 1.
assertAPISuccess()  : mixed
Check that api returned 'is_error' => 0.
callAPIAndDocument()  : array<string|int, mixed>|int
callAPIFailure()  : array<string|int, mixed>|int
This function exists to wrap api functions.
callAPISuccess()  : array<string|int, mixed>|int
wrap api functions.
callAPISuccessGetCount()  : array<string|int, mixed>|int
This function exists to wrap api getValue function & check the result so we can ensure they succeed & throw exceptions without littering the test with checks There is a type check in this
callAPISuccessGetSingle()  : array<string|int, mixed>|int
This function exists to wrap api getsingle function & check the result so we can ensure they succeed & throw exceptions without litterering the test with checks
callAPISuccessGetValue()  : array<string|int, mixed>|int
This function wraps the getValue api and checks the result.
civicrm_api()  : array<string|int, mixed>|int
A stub for the API interface. This can be overriden by subclasses to change how the API is called.
contactDelete()  : void
Delete contact, ensuring it is not the domain contact
createLoggedInUser()  : int
Emulate a logged in user since certain functions use that.
groupContactCreate()  : int
Function to add a Group.
groupCreate()  : int
Add a Group.
groupDelete()  : mixed
Delete a Group.
householdCreate()  : int
Generic function to create Household, to be used in test cases
individualCreate()  : int
Generic function to create Individual, to be used in test cases
organizationCreate()  : int
Generic function to create Organisation, to be used in test cases
runApi4Legacy()  : array<string|int, mixed>|int
Emulate v3 syntax so we can run api3 tests on v4
sampleContact()  : array<string|int, mixed>
Helper function for getting sample contact properties.
setUp()  : void
setUpHeadless()  : CiviEnvBuilder
The setupHeadless function runs at the start of each test case, right before the headless environment reboots.
tearDown()  : void
Cleanup after test.
testCreateCustomCheckboxGrant()  : void
Check checkbox type custom fields are created correctly.
testCreateGrant()  : void
testDeleteGrant()  : void
testGetGrant()  : void
testGrantGetDoesNotInterfereWithContributionGet()  : void
testGrantReportSeparatedFilter()  : void
Test contact subtype filter on grant report.
testGrantWithZeroStatus()  : void
Test Grant status with `0` value.
versionThreeAndFour()  : array<string|int, mixed>
Get the api versions to test.
createTestEntity()  : array<string|int, mixed>
Create an entity, recording it's details for tearDown.
runApi4LegacyChain()  : array<string|int, mixed>
setTestEntity()  : void
Set the test entity on the class for access.
setTestEntityID()  : void
_contactCreate()  : int
Private helper function for calling civicrm_contact_add.

Properties

$apiversion

API version to use for any api calls.

public int $apiversion = 4

$_apiversion

protected mixed $_apiversion = 3

$_entity

protected string $_entity = 'Grant'

$params

protected array<string|int, mixed> $params

$tablesToCleanUp

Track tables we have modified during a test.

protected array<string|int, mixed> $tablesToCleanUp = []

Set up functions that add entities can register the relevant tables here for the cleanup process.

$testRecords

Records created which will be deleted during tearDown

protected array<string|int, mixed> $testRecords = []

Methods

assertAPIArrayComparison()

Check that api returned 'is_error' => 1 else provide full message

public assertAPIArrayComparison(array<string|int, mixed> $result, mixed $expected[, array<string|int, mixed> $valuesToExclude = [] ][, string $prefix = '' ]) : mixed
Parameters
$result : array<string|int, mixed>
$expected : mixed
$valuesToExclude : array<string|int, mixed> = []
$prefix : string = ''

Extra test to add to message.

assertAPIDeleted()

Check that a deleted item has been deleted.

public assertAPIDeleted(mixed $entity, mixed $id) : mixed
Parameters
$entity : mixed
$id : mixed

assertAPIFailure()

Check that api returned 'is_error' => 1.

public assertAPIFailure(array<string|int, mixed> $apiResult[, string $prefix = '' ][, string|null $expectedError = NULL ]) : void
Parameters
$apiResult : array<string|int, mixed>

Api result.

$prefix : string = ''

Extra test to add to message.

$expectedError : string|null = NULL

assertAPISuccess()

Check that api returned 'is_error' => 0.

public assertAPISuccess(array<string|int, mixed> $apiResult[, string $prefix = '' ]) : mixed
Parameters
$apiResult : array<string|int, mixed>

Api result.

$prefix : string = ''

Extra test to add to message.

callAPIAndDocument()

public callAPIAndDocument(string $entity, string $action, array<string|int, mixed> $params) : array<string|int, mixed>|int
Parameters
$entity : string
$action : string
$params : array<string|int, mixed>
Return values
array<string|int, mixed>|int

callAPIFailure()

This function exists to wrap api functions.

public callAPIFailure(string $entity, string $action[, array<string|int, mixed> $params = [] ][, string $expectedErrorMessage = NULL ][, null $extraOutput = NULL ]) : array<string|int, mixed>|int

so we can ensure they fail where expected & throw exceptions without litterering the test with checks

Parameters
$entity : string
$action : string
$params : array<string|int, mixed> = []
$expectedErrorMessage : string = NULL

Error.

$extraOutput : null = NULL
Return values
array<string|int, mixed>|int

callAPISuccess()

wrap api functions.

public callAPISuccess(string $entity, string $action[, array<string|int, mixed> $params = [] ][, mixed $checkAgainst = NULL ]) : array<string|int, mixed>|int

so we can ensure they succeed & throw exceptions without litterering the test with checks

Parameters
$entity : string
$action : string
$params : array<string|int, mixed> = []
$checkAgainst : mixed = NULL

Optional value to check result against, implemented for getvalue,. getcount, getsingle. Note that for getvalue the type is checked rather than the value for getsingle the array is compared against an array passed in - the id is not compared (for better or worse )

Return values
array<string|int, mixed>|int

callAPISuccessGetCount()

This function exists to wrap api getValue function & check the result so we can ensure they succeed & throw exceptions without littering the test with checks There is a type check in this

public callAPISuccessGetCount(string $entity, array<string|int, mixed> $params[, int $count = NULL ]) : array<string|int, mixed>|int
Parameters
$entity : string
$params : array<string|int, mixed>
$count : int = NULL
Return values
array<string|int, mixed>|int

callAPISuccessGetSingle()

This function exists to wrap api getsingle function & check the result so we can ensure they succeed & throw exceptions without litterering the test with checks

public callAPISuccessGetSingle(string $entity, array<string|int, mixed> $params[, array<string|int, mixed> $checkAgainst = NULL ]) : array<string|int, mixed>|int
Parameters
$entity : string
$params : array<string|int, mixed>
$checkAgainst : array<string|int, mixed> = NULL

Array to compare result against.

  • boolean
  • integer
  • double
  • string
  • array
  • object
Return values
array<string|int, mixed>|int

callAPISuccessGetValue()

This function wraps the getValue api and checks the result.

public callAPISuccessGetValue(string $entity, array<string|int, mixed> $params[, string $type = NULL ]) : array<string|int, mixed>|int
Parameters
$entity : string
$params : array<string|int, mixed>
$type : string = NULL

Per http://php.net/manual/en/function.gettype.php possible types.

  • boolean
  • integer
  • double
  • string
  • array
  • object
Return values
array<string|int, mixed>|int

civicrm_api()

A stub for the API interface. This can be overriden by subclasses to change how the API is called.

public civicrm_api(mixed $entity, mixed $action[, array<string|int, mixed> $params = [] ]) : array<string|int, mixed>|int
Parameters
$entity : mixed
$action : mixed
$params : array<string|int, mixed> = []
Return values
array<string|int, mixed>|int

contactDelete()

Delete contact, ensuring it is not the domain contact

public contactDelete(int $contactID) : void
Parameters
$contactID : int

Contact ID to delete

groupContactCreate()

Function to add a Group.

public groupContactCreate(int $groupID[, int $totalCount = 10 ][, bool $random = FALSE ]) : int
Parameters
$groupID : int
$totalCount : int = 10
$random : bool = FALSE
Tags
params

array to add group

Return values
int

groupId of created group

groupCreate()

Add a Group.

public groupCreate([array<string|int, mixed> $params = [] ][, string $identifier = 'group' ]) : int
Parameters
$params : array<string|int, mixed> = []
$identifier : string = 'group'
Return values
int

groupId of created group

groupDelete()

Delete a Group.

public groupDelete(int $gid) : mixed
Parameters
$gid : int

householdCreate()

Generic function to create Household, to be used in test cases

public householdCreate([array<string|int, mixed> $params = [] ][, int|string $identifier = 'household_0' ]) : int
Parameters
$params : array<string|int, mixed> = []

parameters for civicrm_contact_add api function call

$identifier : int|string = 'household_0'

If the identifier is numeric (discouraged) it will affect which contact is loaded. Numeric identifiers and values for random other than FALSE are generally discouraged in favour if specifying data in params where variety is needed.

Return values
int

id of Household created

individualCreate()

Generic function to create Individual, to be used in test cases

public individualCreate([array<string|int, mixed> $params = [] ][, int|string $identifier = 'individual_0' ][, bool $random = FALSE ]) : int
Parameters
$params : array<string|int, mixed> = []

parameters for civicrm_contact_add api function call

$identifier : int|string = 'individual_0'

If the identifier is numeric (discouraged) it will affect which contact is loaded. Numeric identifiers and values for random other than FALSE are generally discouraged in favour if specifying data in params where variety is needed.

$random : bool = FALSE

Random is deprecated.

Return values
int

id of Individual created

organizationCreate()

Generic function to create Organisation, to be used in test cases

public organizationCreate([array<string|int, mixed> $params = [] ][, int|string $identifier = 'organization_0' ]) : int
Parameters
$params : array<string|int, mixed> = []

parameters for civicrm_contact_add api function call

$identifier : int|string = 'organization_0'

If the identifier is numeric (discouraged) it will affect which contact is loaded. Numeric identifiers and values for random other than FALSE are generally discouraged in favour if specifying data in params where variety is needed.

Return values
int

id of Organisation created

runApi4Legacy()

Emulate v3 syntax so we can run api3 tests on v4

public runApi4Legacy(mixed $v3Entity, mixed $v3Action[, array<string|int, mixed> $v3Params = [] ]) : array<string|int, mixed>|int
Parameters
$v3Entity : mixed
$v3Action : mixed
$v3Params : array<string|int, mixed> = []
Tags
throws
CRM_Core_Exception
throws
Exception
Return values
array<string|int, mixed>|int

sampleContact()

Helper function for getting sample contact properties.

public sampleContact(string $contact_type[, int $seq = 0 ][, bool $random = FALSE ]) : array<string|int, mixed>
Parameters
$contact_type : string

enum contact type: Individual, Organization

$seq : int = 0

sequence number for the values of this type

$random : bool = FALSE
Return values
array<string|int, mixed>

properties of sample contact (ie. $params for API call)

tearDown()

Cleanup after test.

public tearDown() : void
Tags
throws
Exception

testCreateCustomCheckboxGrant()

Check checkbox type custom fields are created correctly.

public testCreateCustomCheckboxGrant() : void

We want to ensure they are saved with separators as appropriate

Tags
throws
CRM_Core_Exception

testCreateGrant()

public testCreateGrant() : void

testDeleteGrant()

public testDeleteGrant() : void

testGetGrant()

public testGetGrant() : void

testGrantGetDoesNotInterfereWithContributionGet()

public testGrantGetDoesNotInterfereWithContributionGet() : void

testGrantReportSeparatedFilter()

Test contact subtype filter on grant report.

public testGrantReportSeparatedFilter() : void

testGrantWithZeroStatus()

Test Grant status with `0` value.

public testGrantWithZeroStatus() : void

versionThreeAndFour()

Get the api versions to test.

public versionThreeAndFour() : array<string|int, mixed>
Return values
array<string|int, mixed>

createTestEntity()

Create an entity, recording it's details for tearDown.

protected createTestEntity(string $entity, array<string|int, mixed> $values[, string $identifier = 'default' ]) : array<string|int, mixed>
Parameters
$entity : string
$values : array<string|int, mixed>
$identifier : string = 'default'
Return values
array<string|int, mixed>

runApi4LegacyChain()

protected runApi4LegacyChain(string $key, mixed $params, string $mainEntity, array<string|int, mixed> $result, bool $sequential) : array<string|int, mixed>
Parameters
$key : string
$params : mixed
$mainEntity : string
$result : array<string|int, mixed>
$sequential : bool
Tags
throws
CRM_Core_Exception
Return values
array<string|int, mixed>

setTestEntity()

Set the test entity on the class for access.

protected setTestEntity(string $entity, array<string|int, mixed> $values, string $identifier) : void

This follows the ids patter and also the api4TestTrait pattern.

Parameters
$entity : string
$values : array<string|int, mixed>
$identifier : string

setTestEntityID()

protected setTestEntityID(string $entity, int $id, string $identifier) : void
Parameters
$entity : string
$id : int
$identifier : string

_contactCreate()

Private helper function for calling civicrm_contact_add.

private _contactCreate(array<string|int, mixed> $params[, string $identifier = 'Contact' ]) : int
Parameters
$params : array<string|int, mixed>

For civicrm_contact_add api function call.

$identifier : string = 'Contact'
Return values
int

id of contact created


        
On this page

Search results