api_v3_MembershipTest
        
        extends CiviUnitTestCase
    
    
            
            in package
            
        
    
    
            
            uses
                            CRMTraits_Financial_OrderTrait                    
    
Class api_v3_MembershipTest
Tags
Table of Contents
Properties
- $apiversion : int
 - API version to use for any api calls.
 - $hookClass : CRM_Utils_Hook_UnitTests
 - Class used for hooks during tests.
 - $setupIDs : array<string|int, mixed>
 - Array of IDs created during test setup routine.
 - $_apiversion : int
 - API version in use.
 - $_contactID : mixed
 - $_entity : mixed
 - $_membershipID : mixed
 - $_membershipID2 : mixed
 - $_membershipID3 : mixed
 - $_membershipStatusID : mixed
 - $_membershipTypeID : mixed
 - $_membershipTypeID2 : mixed
 - $_params : array<string|int, mixed>
 - $_tablesToTruncate : array<string|int, mixed>
 - Track tables we have modified during a test.
 - $formController : CRM_Event_Controller_Registration
 - Form controller being used.
 - $ids : array<string|int, mixed>
 - Array of IDs created to support the test.
 - $isGetSafe : bool
 - Has the test class been verified as 'getsafe'.
 - $isLocationTypesOnPostAssert : bool
 - Should location types be checked to ensure primary addresses are correctly assigned after each test.
 - $isValidateFinancialsOnPostAssert : bool
 - Should financials be checked after the test but before tear down.
 - $origExtensionSystem : CRM_Extension_System
 - $originalSettings : array<string|int, mixed>
 - $tempDirs : array<string|int, mixed>
 - $errorHandlerAtStartOfTest : mixed
 - $form : FormWrapper
 - $frozenTime : CRM_Utils_AutoClean
 - $page : PageWrapper
 - $tx : CRM_Core_Transaction
 
Methods
- __construct() : mixed
 - Constructor.
 - _checkFinancialRecords() : mixed
 - activityCreate() : array<string|int, mixed>
 - Create Activity.
 - addDiscountPriceSet() : void
 - Add a discount price set to the given event.
 - 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.
 - assertApproxEquals() : mixed
 - Assert that two numbers are approximately equal, give or take some $tolerance.
 - assertArrayKeyExists() : mixed
 - assertArrayValueNotNull() : mixed
 - assertArrayValuesEqual() : mixed
 - Assert the 2 arrays have the same values.
 - assertAttributesEquals() : mixed
 - Assert attributes are equal.
 - assertDBCompareValue() : mixed
 - Compare a single column value in a retrieved DB record to an expected value.
 - assertDBCompareValues() : mixed
 - Compare all values in a single retrieved DB record to an array of expected values.
 - assertDBNotNull() : null|string
 - Request a record from the DB by seachColumn+searchValue. Success if a record is found.
 - assertDBNull() : mixed
 - Request a record from the DB by seachColumn+searchValue. Success if returnColumn value is NULL.
 - assertDBQuery() : void
 - Assert that a SQL query returns a given value.
 - assertDBRowExist() : mixed
 - Request a record from the DB by id. Success if row not found.
 - assertDBRowNotExist() : mixed
 - Request a record from the DB by id. Success if row not found.
 - assertDBState() : void
 - Generic function to compare expected values after an api call to retrieved.
 - assertLocationValidity() : void
 - Validate that all location entities have exactly one primary.
 - assertTreeEquals() : mixed
 - Assert that two array-trees are exactly equal.
 - assertType() : mixed
 - batchCreate() : int
 - Create a sample batch.
 - buildEnvironment() : CiviEnvBuilder
 - Declare the environment that we wish to run in.
 - 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.
 - campaignCreate() : int
 - caseCreate() : void
 - checkArrayEquals() : void
 - Get formatted values in the actual and expected 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.
 - CiviUnitTestCase_fatalErrorHandler() : mixed
 - cleanTempDirs() : mixed
 - contactDelete() : void
 - Delete contact, ensuring it is not the domain contact
 - contactMembershipCreate() : int
 - Create membership.
 - contributionCreate() : int
 - Create contribution.
 - contributionDelete() : array<string|int, mixed>|int
 - Delete contribution.
 - contributionPageCreate() : array<string|int, mixed>
 - Create contribution page.
 - createCase() : CRM_Case_BAO_Case
 - Create and return a case object for the given Client ID.
 - createDomainContacts() : void
 - Create default domain contacts for the two domains added during test class.
 - createExternalAPI() : ExternalBatch
 - Create a batch of external API calls which can be executed concurrently.
 - createLoggedInUser() : int
 - Emulate a logged in user since certain functions use that.
 - createMailing() : int
 - Helper function to create new mailing.
 - createPriceSetWithPage() : void
 - Create price set with contribution test for test setup.
 - createRepeatMembershipOrder() : void
 - Create a pending membership from a recurring order.
 - createTempDir() : string
 - Generate a temporary folder.
 - customDirectories() : mixed
 - Helper to enable/disable custom directory support
 - customFieldCreate() : array<string|int, mixed>
 - Create custom field.
 - customFieldDelete() : array<string|int, mixed>|int
 - Delete custom field.
 - customFieldOptionValueCreate() : array<string|int, mixed>|int
 - Create custom field with Option Values.
 - customGroupCreate() : array<string|int, mixed>
 - Create custom group.
 - CustomGroupCreateByParams() : array<string|int, mixed>|int
 - Existing function doesn't allow params to be over-ridden so need a new one this one allows you to only pass in the params you want to change
 - customGroupDelete() : array<string|int, mixed>|int
 - Delete custom group.
 - CustomGroupMultipleCreateByParams() : array<string|int, mixed>|int
 - Create custom group with multi fields.
 - CustomGroupMultipleCreateWithFields() : array<string|int, mixed>
 - Create custom group with multi fields.
 - deleteMailing() : mixed
 - Helper function to delete mailing.
 - disableMultilingual() : void
 - dummyProcessorCreate() : CRM_Core_Payment_Dummy
 - Create Payment Processor.
 - enableCiviCampaign() : void
 - Enable CiviCampaign Component.
 - enableMultilingual() : void
 - Enable multilingual.
 - entityCustomGroupWithSingleFieldCreate() : array<string|int, mixed>
 - Create a custom group with a single text custom field. See participant:testCreateWithCustom for how to use this
 - entityCustomGroupWithSingleStringMultiSelectFieldCreate() : array<string|int, mixed>
 - Create a custom group with a single text custom field, multi-select widget, with a variety of option values including upper and lower case.
 - entityTagAdd() : true
 - Add entity(s) to the tag
 - eventCreate() : array<string|int, mixed>
 - Create an Event.
 - eventDelete() : array<string|int, mixed>|int
 - Delete event.
 - financialAccountDelete() : mixed
 - getAndCheck() : void
 - getBooleanDataProvider() : array<string|int, mixed>
 - Get the boolean options as a provider.
 - getFinancialTypeID() : int
 - Return financial type id on basis of name
 - getFormObject() : CRM_Core_Form|CRM_Event_Form_Registration_Register
 - Instantiate form object.
 - getLoggedInUser() : int|null
 - Get the logged in user record.
 - getMembershipTypeID() : int
 - Get the id for the given type.
 - getSearchFormObject() : CRM_Core_Form
 - Instantiate form object.
 - getTestForm() : FormWrapper
 - getTestPage() : PageWrapper
 - getThousandSeparators() : array<string|int, mixed>
 - Get possible thousand separators.
 - groupContactCreate() : int
 - Function to add a Group.
 - groupCreate() : int
 - Add a Group.
 - groupDelete() : mixed
 - Delete a Group.
 - hook_civicrm_pre_update_create_membership() : mixed
 - Custom hook for update membership.
 - 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
 - loadAllFixtures() : void
 - Read everything from the datasets directory and insert into the db.
 - locationAdd() : int
 - Add a Location.
 - locationTypeCreate() : int
 - Add a Location Type.
 - locationTypeDelete() : void
 - Delete a Location Type.
 - mappingCreate() : CRM_Core_DAO_Mapping
 - Add a Mapping.
 - mappingDelete() : void
 - Delete a Mapping
 - membershipDelete() : mixed
 - membershipRenewalDate() : mixed
 - membershipStatusCreate() : int
 - membershipStatusDelete() : void
 - Delete the given membership status, deleting any memberships of the status first.
 - membershipTypeCreate() : int
 - membershipTypeDelete() : mixed
 - Delete Membership Type.
 - offsetDefaultPriceSet() : mixed
 - Alter default price set so that the field numbers are not all 1 (hiding errors)
 - onPost() : mixed
 - An implementation of hook_civicrm_post used with all our test cases.
 - organizationCreate() : int
 - Generic function to create Organisation, to be used in test cases
 - participantCreate() : int
 - Create Participant.
 - participantDelete() : array<string|int, mixed>|int
 - Delete participant.
 - participantPaymentCreate() : int
 - Create participant payment.
 - participantPaymentDelete() : mixed
 - Delete participant payment.
 - paymentProcessorCreate() : int
 - Create an instance of the paypal processor.
 - paymentProcessorTypeCreate() : int
 - pledgeCreate() : int
 - Create pledge.
 - pledgeDelete() : void
 - Delete pledge.
 - processorCreate() : int
 - Create Payment Processor.
 - quickCleanup() : void
 - Quick clean by emptying tables created for the test.
 - quickCleanUpFinancialEntities() : void
 - Clean up financial entities after financial tests (so we remember to get all the tables :-))
 - relationshipTypeCreate() : int
 - Create a relationship type.
 - relationshipTypeDelete() : mixed
 - Delete Relatinship Type.
 - restoreDefaultPriceSetConfig() : void
 - Reset the price set config so results exist.
 - restoreMembershipTypes() : void
 - Recreate default membership types.
 - retrieveEntityFinancialTrxn() : array<string|int, mixed>
 - Retrieve entity financial trxn details.
 - 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.
 - selectWhereClauseHook() : void
 - setExtensionSystem() : mixed
 - Temporarily replace the singleton extension with a different one.
 - setMockSettingsMetaData() : void
 - Temporarily alter the settings-metadata to add a mock setting.
 - setUp() : void
 - Set up for tests.
 - setupACL() : void
 - Set up an acl allowing contact to see 2 specified groups - $this->_permissionedGroup & $this->_permissionedDisabledGroup
 - setUpBeforeClass() : void
 - setupForSmsTests() : mixed
 - Setup or clean up SMS tests
 - setupMembershipRecurringPaymentProcessorTransaction() : void
 - We don't have a good way to set up a recurring contribution with a membership so let's just do one then alter it
 - setupRecurringPaymentProcessorTransaction() : void
 - Set up initial recurring payment allowing subsequent IPN payments.
 - smartGroupCreate() : int
 - Create a smart group.
 - tagCreate() : array<string|int, mixed>
 - Create Tag.
 - tagDelete() : int
 - Delete Tag.
 - tearDown() : void
 - Clean up after tests.
 - testContactMembershipsGet() : void
 - Test membership get.
 - testCreateOverrideNoStatus() : void
 - If is_overide is passed in status must also be passed in.
 - testCreatePending() : void
 - Test dates are calculated for pending membership.
 - testCreatePendingWithSkipStatusCalc() : void
 - Test dates are calculated for pending membership.
 - testCreateWithCustom() : void
 - Check with complete array + custom field Note that the test is written on purpose without any variables specific to participant so it can be replicated into other entities and / or moved to the automated test suite
 - testCreateWithRelationship() : void
 - Test civicrm_membership_create with relationships.
 - testCreateWithSpouseRelationship() : void
 - Test that loops are not created when adding spouse relationships.
 - testEmptyEndDateFixed() : void
 - Test that if membership end date is not set it defaults to correct end date.
 - testEmptyEndDateRolling() : void
 - Test that if membership end date is not set it defaults to correct end date.
 - testEmptyJoinDate() : void
 - Test that if membership join date is not set it defaults to today.
 - testEmptyStartDateFixed() : void
 - Test that if membership start date is not set it defaults to correct end date.
 - testEmptyStartDateRolling() : void
 - Test that if membership start date is not set it defaults to correct end date for fixed single year memberships.
 - testEmptyStartEndDateFixedMultiYear() : void
 - Test that if membership start date is not set it defaults to correct end date for fixed multi year memberships.
 - testEmptyStartEndDateFixedOneYear() : void
 - Test that if membership start date is not set it defaults to correct end date - fixed
 - testFixedMultiYearDateSetThreeEmptyEndDate() : void
 - Test that correct end date is calculated for fixed multi year memberships and start date is not changed.
 - testFixedMultiYearDateSetThreeEmptyStartEndDate() : void
 - Test correct end and start dates are calculated for fixed multi year memberships.
 - testFixedMultiYearDateSetTwoEmptyEndDate() : void
 - Test that correct end date is calculated for fixed multi year memberships and start date is not changed.
 - testFixedMultiYearDateSetTwoEmptyStartEndDate() : void
 - Test correct end and start dates are calculated for fixed multi year memberships.
 - testFixedSingleYearDateSetThreeEmptyEndDate() : void
 - Test that correct end date is calculated for fixed multi year memberships and start date is not changed.
 - testFixedSingleYearDateSetThreeEmptyStartEndDate() : void
 - Test correct end and start dates are calculated for fixed multi year memberships.
 - testFixedSingleYearDateSetTwoEmptyEndDate() : void
 - Test correct end date for fixed single year memberships is calculated and start_date is not changed.
 - testFixedSingleYearDateSetTwoEmptyStartEndDate() : void
 - Test correct end and start dates are calculated for fixed multi year memberships.
 - testGet() : void
 - Test civicrm_membership_get with proper params.
 - testGetInSyntax() : void
 - Test civicrm_membership_get with params not array.
 - testGetInSyntaxOnContactID() : void
 - Test civicrm_membership_get with params not array.
 - testGetNoContactExists() : void
 - Test civicrm_membership_get for non exist contact.
 - testGetOnlyActive() : void
 - Test civicrm_membership_get for only active.
 - testGetOptionsMembershipTypeID() : void
 - Test that all membership types are returned when getoptions is called.
 - testGetWithId() : void
 - Test civicrm_membership_get with proper params.
 - testGetWithParamsContactId() : void
 - Test civicrm_membership_get with params not array.
 - testGetWithParamsMemberShipIdAndCustom() : void
 - Check with complete array + custom field.
 - testGetWithParamsMemberShipTypeId() : void
 - Test civicrm_membership_get with params not array.
 - testGetWithParamsMemberShipTypeIdContactID() : void
 - Test civicrm_membership_get with params not array.
 - testGetWithRelationship() : void
 - Test civicrm_membership_get with relationship.
 - testMembershipCreate() : void
 - testMembershipCreateInValidMembershipTypeString() : void
 - Test civicrm_contact_memberships_create with membership_contact_id membership).
 - testMembershipCreateInvalidMemData() : void
 - Test civicrm_contact_memberships_create Invalid membership data.
 - testMembershipCreateMissingRequired() : void
 - testMembershipCreateUpdateWithIDAndSource() : void
 - Test civicrm_contact_memberships_create with membership id (edit membership).
 - testMembershipCreateUpdateWithIdNoContact() : void
 - Test civicrm_contact_memberships_create with membership id (edit membership).
 - testMembershipCreateUpdateWithIdNoDates() : void
 - Test civicrm_contact_memberships_create with membership id (edit membership).
 - testMembershipCreateUpdateWithIdNoDatesNoType() : void
 - Test civicrm_contact_memberships_create with membership id (edit membership).
 - testMembershipCreateValidMembershipTypeString() : void
 - Test civicrm_contact_memberships_create with membership_contact_id membership).
 - testMembershipCreateWithId() : void
 - Test civicrm_contact_memberships_create with membership id (edit membership).
 - testMembershipCreateWithInvalidContact() : void
 - Check for useful message if contact doesn't exist
 - testMembershipCreateWithMemContact() : void
 - Test civicrm_contact_memberships_create with membership_contact_id membership).
 - testMembershipDatesNotOverridden() : void
 - Test that if dates are set they not over-ridden if id is passed in
 - testMembershipDelete() : void
 - Test membership deletion.
 - testMembershipDeleteEmpty() : void
 - testMembershipDeleteInvalidID() : void
 - testMembershipDeletePreserveContribution() : void
 - Test membership deletion and with the preserve contribution param.
 - testMembershipGetWithReturn() : void
 - We are checking for no e-notices + only id & end_date returned
 - testMembershipJoinDateFixed() : void
 - CRM-18503 - Test membership join date is correctly set for fixed memberships.
 - testMembershipUpdateCreateHookCRM15746() : void
 - per CRM-15746 check that the id can be altered in an update hook
 - testMultipleMembershipContribution() : void
 - Test that a contribution linked to multiple memberships results in all being updated.
 - testMultipleMembershipsContribution() : void
 - Test Multiple Membership Status for same contribution id.
 - testSearchWithCustomDataCRM16036() : void
 - Search on custom field value.
 - testUpdateWithCustom() : void
 - Change custom field using update.
 - uFFieldCreate() : mixed
 - Create a UFField.
 - ufjoinCreate() : int
 - Add a UF Join Entry.
 - unsetExtensionSystem() : mixed
 - useMultilingual() : CRM_Utils_AutoClean
 - Temporarily use multilingual.
 - useTransaction() : mixed
 - Wrap the entire test case in a transaction.
 - versionThreeAndFour() : array<string|int, mixed>
 - Get the api versions to test.
 - addLocationBlockToDomain() : void
 - Add an address block to the current domain.
 - addProfile() : mixed
 - Add a profile to a contribution page.
 - addTaxAccountToFinancialType() : CRM_Financial_DAO_EntityFinancialAccount
 - Add Sales Tax Account for the financial type.
 - assertAttachmentExistence() : void
 - Assert the attachment exists.
 - assertLike() : void
 - Assert 2 sql strings are the same, ignoring double spaces.
 - assertMailSentContainingHeaderString() : void
 - Assert that the sent mail included the supplied string.
 - assertMailSentContainingHeaderStrings() : void
 - Assert that the sent mail included the supplied strings.
 - assertMailSentContainingString() : void
 - Assert that the sent mail included the supplied string.
 - assertMailSentContainingStrings() : void
 - Assert that the sent mail included the supplied strings.
 - assertMailSentCount() : void
 - Assert the right number of mails were sent.
 - assertMailSentNotContainingString() : void
 - Assert that the sent mail included the supplied string.
 - assertMailSentNotContainingStrings() : void
 - Assert that the sent mail included the supplied strings.
 - assertMailSentTo() : void
 - Assert that the sent mail included the supplied strings.
 - assertOutputNotContainsString() : void
 - Assert that the status set does not contain the given string.
 - assertPostConditions() : void
 - CHeck that all tests that have created payments have created them with the right financial entities.
 - assertPrematureExit() : void
 - assertTemplateVariable() : void
 - assertValidationError() : void
 - Assert that the sent mail included the supplied string.
 - basicCreateTest() : void
 - Generic create test.
 - basicDeleteTest() : void
 - Generic delete test.
 - captureOutputToCSV() : Reader
 - Stop capturing browser output and return as a csv.
 - cleanUpAfterACLs() : mixed
 - Reset after ACLs.
 - cleanupCustomGroups() : void
 - Delete any existing custom data groups.
 - cleanUpSetUpIDs() : mixed
 - Cleanup function for contents of $this->ids.
 - createContributionAndMembershipOrder() : void
 - Create an order with a contribution AND a membership line item.
 - createEventOrder() : mixed
 - Create an order for an event.
 - createExtraneousContribution() : mixed
 - Create an extraneous contribution to throw off any 'number one bugs'.
 - createFinancialType() : array<string|int, mixed>
 - Create Financial Type.
 - createMultipleMembershipOrder() : mixed
 - Create an order with more than one membership.
 - createPartiallyPaidParticipantOrder() : array<string|int, mixed>
 - Add participant with contribution
 - createPriceSet() : array<string|int, mixed>
 - Create price set that includes one price field with two option values.
 - createRuleGroup() : array<string|int, mixed>|int
 - deleteNonDefaultRelationshipTypes() : void
 - Delete any extraneous relationship types.
 - disableTaxAndInvoicing() : void
 - Enable Tax and Invoicing
 - disorganizeOptionValues() : void
 - Disorganize our option values to ensure we are not relying on luck.
 - enableTaxAndInvoicing() : void
 - Enable Tax and Invoicing
 - ensureMembershipPriceSetExists() : void
 - Ensure the default price set & field exist for memberships.
 - ensureMySQLMode() : void
 - Ensure the specified mysql mode/s are activated.
 - eventCreatePaid() : array<string|int, mixed>
 - Create a paid event.
 - eventCreateUnpaid() : array<string|int, mixed>
 - Create an unpaid event.
 - eventPriceSetCreate() : int
 - Create a price set for an event.
 - flushFinancialTypeStatics() : void
 - Flush statics relating to financial type.
 - formatMoneyInput() : string
 - Format money as it would be input.
 - getContributionObject() : CRM_Contribute_BAO_Contribution
 - Get the contribution object.
 - getDefaultSystemLocale() : string
 - Get the default system locale.
 - getDeprecatedProperty() : mixed
 - Retrieve a deprecated property, ensuring a deprecation notice is thrown.
 - getEvent() : array<string|int, mixed>
 - This retrieves the values used to create the event.
 - getEventExampleData() : array<string|int, mixed>
 - Get example data with which to create the event.
 - getEventID() : int
 - Get the event id of the event created in set up.
 - getEventValue() : mixed|null
 - Get a value from an event used in setup.
 - getExampleData() : array<string|int, mixed>
 - Get example data.
 - getMembershipLineItem() : array<string|int, array<string|int, mixed>>
 - getParticipantOrderParams() : array<string|int, mixed>
 - Get parameters to set up a multi-line participant order.
 - getPriceFieldOptions() : array<string|int, array<string|int, mixed>>
 - Get the options for the price set.
 - getRenderedFormContents() : false|string
 - Get the rendered contents from a form.
 - getTablesWithData() : array<string|int, mixed>
 - Get an array of tables with rows - useful for diagnosing cleanup issues.
 - loadXMLDataSet() : mixed
 - Load the data that used to be handled by the discontinued dbunit class.
 - organizeOptionValues() : void
 - This undoes the `disorganizeOptionValues` function.
 - prepareForACLs() : void
 - Prepare class for ACLs.
 - renameLabels() : mixed
 - Rename various labels to not match the names.
 - resetHooks() : void
 - Reset any registered hooks.
 - resetLabels() : mixed
 - Undo any label renaming.
 - revertSetting() : void
 - revertTemplateToReservedTemplate() : void
 - Reinstate the default template.
 - runApi4LegacyChain() : array<string|int, mixed>
 - runTest() : mixed
 - Override to run the test and assert its state.
 - setCurrencySeparators() : void
 - Set the separators for thousands and decimal points.
 - setDefaultCurrency() : void
 - Sets the default currency.
 - setMonetaryDecimalPoint() : void
 - Sets the decimal separator.
 - setMonetaryThousandSeparator() : void
 - Sets the thousand separator.
 - setPermissions() : void
 - Set the permissions to the supplied array.
 - startCapturingOutput() : mixed
 - Start capturing browser output.
 - swapMessageTemplateForInput() : void
 - Replace the template with a test-oriented template designed to show all the variables.
 - swapMessageTemplateForTestTemplate() : void
 - Replace the template with a test-oriented template designed to show all the variables.
 - updateEvent() : void
 - Update an event.
 - useFrozenTime() : void
 - Temporarily freeze time, as perceived through `CRM_Utils_Time`.
 - validateAllContributions() : void
 - Validate all created contributions.
 - validateAllPayments() : void
 - Validate all created payments.
 - validatePayments() : void
 - _contactCreate() : int
 - Private helper function for calling civicrm_contact_add.
 - addProfilesToEvent() : void
 - Add profiles to the event.
 - createEventProfile() : void
 - Create a profile attached to an event.
 - eventCreatePriceSet() : void
 - Create a price set for an event.
 - unsetID() : void
 - Unset the key 'id' from the array
 
Properties
$apiversion
API version to use for any api calls.
    public
        int
    $apiversion
     = 4
    
    
    
    
$hookClass
Class used for hooks during tests.
    public
        CRM_Utils_Hook_UnitTests
    $hookClass
    
        This can be used to test hooks within tests. For example in the ACL_PermissionTrait:
$this->hookClass->setHook('civicrm_aclWhereClause', [$this, 'aclWhereHookAllResults']);
$setupIDs
Array of IDs created during test setup routine.
    public
        array<string|int, mixed>
    $setupIDs
     = []
        The cleanUpSetUpIds method can be used to clear these at the end of the test.
$_apiversion
API version in use.
    protected
        int
    $_apiversion
     = 3
    
    
    
    
$_contactID
    protected
        mixed
    $_contactID
    
    
    
    
    
$_entity
    protected
        mixed
    $_entity
    
    
    
    
    
$_membershipID
    protected
        mixed
    $_membershipID
    
    
    
    
    
$_membershipID2
    protected
        mixed
    $_membershipID2
    
    
    
    
    
$_membershipID3
    protected
        mixed
    $_membershipID3
    
    
    
    
    
$_membershipStatusID
    protected
        mixed
    $_membershipStatusID
    
    
    
    
    
$_membershipTypeID
    protected
        mixed
    $_membershipTypeID
    
    
    
    
    
$_membershipTypeID2
    protected
        mixed
    $_membershipTypeID2
    
    
    
    
    
$_params
    protected
        array<string|int, mixed>
    $_params
    
    
        Common values to be re-used multiple times within a class - usually to create the relevant entity
$_tablesToTruncate
Track tables we have modified during a test.
    protected
        array<string|int, mixed>
    $_tablesToTruncate
     = []
    
    
    
    
$formController
Form controller being used.
    protected
        CRM_Event_Controller_Registration
    $formController
    
        We need to re-use this for multi-part forms.
$ids
Array of IDs created to support the test.
    protected
        array<string|int, mixed>
    $ids
     = []
        e.g $this->ids = ['Contact' => ['descriptive_key' => $contactID], 'Group' => [$groupID]];
$isGetSafe
Has the test class been verified as 'getsafe'.
    protected
        bool
    $isGetSafe
     = \FALSE
        If a class is getsafe it means that where callApiSuccess is called 'return' is specified or 'return' =>'id' can be added by that function. This is part of getting away from open-ended get calls.
Eventually we want to not be doing these in our test classes & start to work to not do them in our main code base. Note they mainly cause issues for activity.get and contact.get as these are where the too many joins limit is most likely to be hit.
$isLocationTypesOnPostAssert
Should location types be checked to ensure primary addresses are correctly assigned after each test.
    protected
        bool
    $isLocationTypesOnPostAssert
     = \TRUE
    
    
    
    
$isValidateFinancialsOnPostAssert
Should financials be checked after the test but before tear down.
    protected
        bool
    $isValidateFinancialsOnPostAssert
     = \TRUE
        Ideally all tests (or at least all that call any financial api calls ) should do this but there are some test data issues and some real bugs currently blocking.
$origExtensionSystem
    protected
        CRM_Extension_System
    $origExtensionSystem
    
    
    
    
    
$originalSettings
    protected
        array<string|int, mixed>
    $originalSettings
     = []
    
    
    
    
$tempDirs
    protected
        array<string|int, mixed>
    $tempDirs
     = []
    
        Array of temporary directory names
$errorHandlerAtStartOfTest
    private
        mixed
    $errorHandlerAtStartOfTest
    
    
    
    
    
$form
    private
        FormWrapper
    $form
    
    
    
    
    
$frozenTime
    private
        CRM_Utils_AutoClean
    $frozenTime
    
    
    
    
    
$page
    private
        PageWrapper
    $page
    
    
    
    
    
$tx
    private
        CRM_Core_Transaction
    $tx
    
    
    
    
    
Methods
__construct()
Constructor.
    public
                    __construct([string $name = NULL ][, array<string|int, mixed> $data = [] ][, string $dataName = '' ]) : mixed
    Because we are overriding the parent class constructor, we need to show the same arguments as exist in the constructor of PHPUnit_Framework_TestCase, since PHPUnit_Framework_TestSuite::createTest() creates a ReflectionClass of the Test class and checks the constructor of that class to decide how to set up the test.
Parameters
- $name : string = NULL
 - $data : array<string|int, mixed> = []
 - $dataName : string = ''
 
_checkFinancialRecords()
    public
                    _checkFinancialRecords(array<string|int, mixed> $params, mixed $context) : mixed
    Parameters
- $params : array<string|int, mixed>
 - $context : mixed
 
activityCreate()
Create Activity.
    public
                    activityCreate([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
array<string|int, mixed>addDiscountPriceSet()
Add a discount price set to the given event.
    public
                    addDiscountPriceSet([string $eventIdentifier = 'PaidEvent' ][, array<string|int, mixed> $discountParameters = [] ][, array<string|int, mixed> $priceSetParameters = [] ][, string $identifier = 'discount' ][, float $fraction = 0.5 ]) : void
    Parameters
- $eventIdentifier : string = 'PaidEvent'
 - $discountParameters : array<string|int, mixed> = []
 - $priceSetParameters : array<string|int, mixed> = []
 - $identifier : string = 'discount'
 - $fraction : float = 0.5
 
Tags
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.
 
assertApproxEquals()
Assert that two numbers are approximately equal, give or take some $tolerance.
    public
                    assertApproxEquals(int|float $expected, int|float $actual, int|float $tolerance[, string $message = NULL ]) : mixed
    Parameters
- $expected : int|float
 - $actual : int|float
 - $tolerance : int|float
 - 
                    
Any differences <$tolerance are considered irrelevant. Differences >=$tolerance are considered relevant.
 - $message : string = NULL
 
assertArrayKeyExists()
    public
                    assertArrayKeyExists(string|int $key, array<string|int, mixed> &$list) : mixed
    Parameters
- $key : string|int
 - $list : array<string|int, mixed>
 
assertArrayValueNotNull()
    public
                    assertArrayValueNotNull(string|int $key, array<string|int, mixed> &$list) : mixed
    Parameters
- $key : string|int
 - $list : array<string|int, mixed>
 
assertArrayValuesEqual()
Assert the 2 arrays have the same values.
    public
                    assertArrayValuesEqual(array<string|int, mixed> $array1, array<string|int, mixed> $array2) : mixed
    The order of arrays, and keys of the arrays, do not affect the outcome.
Parameters
- $array1 : array<string|int, mixed>
 - $array2 : array<string|int, mixed>
 
assertAttributesEquals()
Assert attributes are equal.
    public
                    assertAttributesEquals(array<string|int, mixed> $expectedValues, array<string|int, mixed> $actualValues[, string $message = NULL ]) : mixed
    Parameters
- $expectedValues : array<string|int, mixed>
 - $actualValues : array<string|int, mixed>
 - $message : string = NULL
 
Tags
assertDBCompareValue()
Compare a single column value in a retrieved DB record to an expected value.
    public
                    assertDBCompareValue(string $daoName, mixed $searchValue, mixed $returnColumn, mixed $searchColumn, mixed $expectedValue, mixed $message) : mixed
    Parameters
- $daoName : string
 - $searchValue : mixed
 - $returnColumn : mixed
 - $searchColumn : mixed
 - $expectedValue : mixed
 - $message : mixed
 
assertDBCompareValues()
Compare all values in a single retrieved DB record to an array of expected values.
    public
                    assertDBCompareValues(string $daoName, array<string|int, mixed> $searchParams, mixed $expectedValues) : mixed
    Parameters
- $daoName : string
 - $searchParams : array<string|int, mixed>
 - $expectedValues : mixed
 
assertDBNotNull()
Request a record from the DB by seachColumn+searchValue. Success if a record is found.
    public
                    assertDBNotNull(string $daoName, mixed $searchValue, mixed $returnColumn, mixed $searchColumn, mixed $message) : null|string
    Parameters
- $daoName : string
 - $searchValue : mixed
 - $returnColumn : mixed
 - $searchColumn : mixed
 - $message : mixed
 
Tags
Return values
null|stringassertDBNull()
Request a record from the DB by seachColumn+searchValue. Success if returnColumn value is NULL.
    public
                    assertDBNull(string $daoName, mixed $searchValue, mixed $returnColumn, mixed $searchColumn, mixed $message) : mixed
    Parameters
- $daoName : string
 - $searchValue : mixed
 - $returnColumn : mixed
 - $searchColumn : mixed
 - $message : mixed
 
assertDBQuery()
Assert that a SQL query returns a given value.
    public
                    assertDBQuery(string|null|int $expected, string $query[, array<string|int, mixed> $params = [] ][, string $message = '' ]) : void
    The first argument is an expected value. The remaining arguments are passed to CRM_Core_DAO::singleValueQuery
Example: $this->assertSql(2, 'select count(*) from foo where foo.bar like "%1"', array(1 => array("Whiz", "String")));
Parameters
- $expected : string|null|int
 - $query : string
 - $params : array<string|int, mixed> = []
 - $message : string = ''
 
Tags
assertDBRowExist()
Request a record from the DB by id. Success if row not found.
    public
                    assertDBRowExist(string $daoName, int $id[, null $message = NULL ]) : mixed
    Parameters
- $daoName : string
 - $id : int
 - $message : null = NULL
 
assertDBRowNotExist()
Request a record from the DB by id. Success if row not found.
    public
                    assertDBRowNotExist(string $daoName, int $id[, null $message = NULL ]) : mixed
    Parameters
- $daoName : string
 - $id : int
 - $message : null = NULL
 
assertDBState()
Generic function to compare expected values after an api call to retrieved.
    public
                    assertDBState(mixed $daoName, mixed $id, mixed $match[, bool $delete = FALSE ]) : void
    DB values.
Parameters
- $daoName : mixed
 - $id : mixed
 - $match : mixed
 - $delete : bool = FALSE
 
Tags
assertLocationValidity()
Validate that all location entities have exactly one primary.
    public
                    assertLocationValidity() : void
    This query takes about 2 minutes on a DB with 10s of millions of contacts.
Tags
assertTreeEquals()
Assert that two array-trees are exactly equal.
    public
                    assertTreeEquals(array<string|int, mixed> $expected, array<string|int, mixed> $actual) : mixed
    The ordering of keys do not affect the outcome (within either the roots or in any child elements).
Error messages will reveal a readable -path-, regardless of how many levels of nesting are present.
Parameters
- $expected : array<string|int, mixed>
 - $actual : array<string|int, mixed>
 
assertType()
    public
                    assertType(string $expected, mixed $actual[, string $message = '' ]) : mixed
    Parameters
- $expected : string
 - 
                    
Ex: 'array', 'object', 'int'
 - $actual : mixed
 - 
                    
The variable/item to check.
 - $message : string = ''
 
batchCreate()
Create a sample batch.
    public
                    batchCreate() : int
    Return values
intbuildEnvironment()
Declare the environment that we wish to run in.
    public
        final    static        buildEnvironment() : CiviEnvBuilder
    TODO: The hope is to get this to align with Civi\Test::headless() and perhaps
assimilate other steps from 'setUp()'. The method is reserved while we look
for the right split. However, when we're a little further along on that, this
should be made overrideable.
Return values
CiviEnvBuildercallAPIAndDocument()
    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>|intcallAPIFailure()
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>|intcallAPISuccess()
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>|intcallAPISuccessGetCount()
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>|intcallAPISuccessGetSingle()
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>|intcallAPISuccessGetValue()
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>|intcampaignCreate()
    public
                    campaignCreate([array<string|int, mixed> $params = [] ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 - 
                    
Optional parameters.
 
Return values
int —Campaign ID.
caseCreate()
    public
                    caseCreate(array<string|int, mixed> $formValues, string $identifier) : void
    Parameters
- $formValues : array<string|int, mixed>
 - $identifier : string
 
checkArrayEquals()
Get formatted values in the actual and expected result.
    public
                    checkArrayEquals(array<string|int, mixed> &$actual, array<string|int, mixed> &$expected) : void
    Parameters
- $actual : array<string|int, mixed>
 - 
                    
Actual calculated values.
 - $expected : array<string|int, mixed>
 - 
                    
Expected values.
 
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>|intCiviUnitTestCase_fatalErrorHandler()
    public
                    CiviUnitTestCase_fatalErrorHandler(mixed $message) : mixed
    Parameters
- $message : mixed
 
Tags
cleanTempDirs()
    public
                    cleanTempDirs() : mixed
    contactDelete()
Delete contact, ensuring it is not the domain contact
    public
                    contactDelete(int $contactID) : void
    Parameters
- $contactID : int
 - 
                    
Contact ID to delete
 
contactMembershipCreate()
Create membership.
    public
                    contactMembershipCreate(array<string|int, mixed> $params) : int
    Parameters
- $params : array<string|int, mixed>
 
Return values
intcontributionCreate()
Create contribution.
    public
                    contributionCreate(array<string|int, mixed> $params) : int
    Parameters
- $params : array<string|int, mixed>
 - 
                    
Array of parameters.
 
Return values
int —id of created contribution
contributionDelete()
Delete contribution.
    public
                    contributionDelete(int $contributionID) : array<string|int, mixed>|int
    Parameters
- $contributionID : int
 
Return values
array<string|int, mixed>|intcontributionPageCreate()
Create contribution page.
    public
                    contributionPageCreate([array<string|int, mixed> $contributionPageValues = [] ][, string $identifier = 'test' ]) : array<string|int, mixed>
    Parameters
- $contributionPageValues : array<string|int, mixed> = []
 - $identifier : string = 'test'
 
Return values
array<string|int, mixed> —Array of contribution page
createCase()
Create and return a case object for the given Client ID.
    public
                    createCase(int $clientID[, int|null $loggedInUser = NULL ][, array<string|int, mixed> $extra = [] ][, string $identifier = 'form-created' ]) : CRM_Case_BAO_Case
    Note that calling caseCreate directly is preferred.
Parameters
- $clientID : int
 - $loggedInUser : int|null = NULL
 - 
                    
Omit or pass NULL to use the same as clientId
 - $extra : array<string|int, mixed> = []
 - 
                    
Optional specific parameters such as start_date
 - $identifier : string = 'form-created'
 
Return values
CRM_Case_BAO_CasecreateDomainContacts()
Create default domain contacts for the two domains added during test class.
    public
                    createDomainContacts() : void
    database population.
createExternalAPI()
Create a batch of external API calls which can be executed concurrently.
    public
                    createExternalAPI() : ExternalBatch
    $calls = $this->createExternalAPI()
   ->addCall('Contact', 'get', ...)
   ->addCall('Contact', 'get', ...)
   ...
   ->run()
   ->getResults();
Tags
Return values
ExternalBatchcreateLoggedInUser()
Emulate a logged in user since certain functions use that.
    public
                    createLoggedInUser() : int
    value to store a record in the DB (like activity)
Tags
Return values
int —Contact ID of the created user.
createMailing()
Helper function to create new mailing.
    public
                    createMailing([array<string|int, mixed> $params = [] ][, string $identifier = 'default' ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 - $identifier : string = 'default'
 
Return values
intcreatePriceSetWithPage()
Create price set with contribution test for test setup.
    public
                    createPriceSetWithPage() : void
    This could be merged with 4.5 function setup in api_v3_ContributionPageTest::setUpContributionPage on parent class at some point.
createRepeatMembershipOrder()
Create a pending membership from a recurring order.
    public
                    createRepeatMembershipOrder() : void
    Tags
createTempDir()
Generate a temporary folder.
    public
                    createTempDir([string $prefix = 'test-' ]) : string
    Parameters
- $prefix : string = 'test-'
 
Return values
stringcustomDirectories()
Helper to enable/disable custom directory support
    public
                    customDirectories(array<string|int, mixed> $customDirs) : mixed
    Parameters
- $customDirs : array<string|int, mixed>
 - 
                    
With members:. 'php_path' Set to TRUE to use the default, FALSE or "" to disable support, or a string path to use another path 'template_path' Set to TRUE to use the default, FALSE or "" to disable support, or a string path to use another path
 
customFieldCreate()
Create custom field.
    public
                    customFieldCreate(array<string|int, mixed> $params) : array<string|int, mixed>
    Parameters
- $params : array<string|int, mixed>
 - 
                    
(custom_group_id) is required.
 
Return values
array<string|int, mixed>customFieldDelete()
Delete custom field.
    public
                    customFieldDelete(int $customFieldID) : array<string|int, mixed>|int
    Parameters
- $customFieldID : int
 
Return values
array<string|int, mixed>|intcustomFieldOptionValueCreate()
Create custom field with Option Values.
    public
                    customFieldOptionValueCreate(array<string|int, mixed> $customGroup, string $name[, array<string|int, mixed> $extraParams = [] ]) : array<string|int, mixed>|int
    Parameters
- $customGroup : array<string|int, mixed>
 - $name : string
 - 
                    
Name of custom field.
 - $extraParams : array<string|int, mixed> = []
 - 
                    
Additional parameters to pass through.
 
Return values
array<string|int, mixed>|intcustomGroupCreate()
Create custom group.
    public
                    customGroupCreate([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
array<string|int, mixed>CustomGroupCreateByParams()
Existing function doesn't allow params to be over-ridden so need a new one this one allows you to only pass in the params you want to change
    public
                    CustomGroupCreateByParams([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>|int
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
array<string|int, mixed>|intcustomGroupDelete()
Delete custom group.
    public
                    customGroupDelete(int $customGroupID) : array<string|int, mixed>|int
    Parameters
- $customGroupID : int
 
Return values
array<string|int, mixed>|intCustomGroupMultipleCreateByParams()
Create custom group with multi fields.
    public
                    CustomGroupMultipleCreateByParams([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>|int
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
array<string|int, mixed>|intCustomGroupMultipleCreateWithFields()
Create custom group with multi fields.
    public
                    CustomGroupMultipleCreateWithFields([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
array<string|int, mixed>deleteMailing()
Helper function to delete mailing.
    public
                    deleteMailing(mixed $id) : mixed
    Parameters
- $id : mixed
 
disableMultilingual()
    public
                    disableMultilingual() : void
    dummyProcessorCreate()
Create Payment Processor.
    public
                    dummyProcessorCreate([array<string|int, mixed> $processorParams = [] ]) : CRM_Core_Payment_Dummy
    Parameters
- $processorParams : array<string|int, mixed> = []
 
Tags
Return values
CRM_Core_Payment_Dummy —Instance of Dummy Payment Processor
enableCiviCampaign()
Enable CiviCampaign Component.
    public
                    enableCiviCampaign() : void
    enableMultilingual()
Enable multilingual.
    public
                    enableMultilingual([array<string|int, mixed>|null $addLocales = NULL ]) : void
    Parameters
- $addLocales : array<string|int, mixed>|null = NULL
 - 
                    
A list of new locales to setup. A locale is initialized by copying from an existing locale.
Ex: Copy from en_US to fr_CA ['en_US' => 'fr_CA'] Ex: Copy from en_US to fr_CA and de_DE ['en_US' => ['fr_CA', 'de_DE]]
 
entityCustomGroupWithSingleFieldCreate()
Create a custom group with a single text custom field. See participant:testCreateWithCustom for how to use this
    public
                    entityCustomGroupWithSingleFieldCreate(string $function, string $filename) : array<string|int, mixed>
    Parameters
- $function : string
 - 
                    
FUNCTION.
 - $filename : string
 - 
                    
$file FILE.
 
Return values
array<string|int, mixed> —ids of created objects
entityCustomGroupWithSingleStringMultiSelectFieldCreate()
Create a custom group with a single text custom field, multi-select widget, with a variety of option values including upper and lower case.
    public
                    entityCustomGroupWithSingleStringMultiSelectFieldCreate(string $function, string $filename) : array<string|int, mixed>
    See api_v3_SyntaxConformanceTest:testCustomDataGet for how to use this
Parameters
- $function : string
 - 
                    
FUNCTION.
 - $filename : string
 - 
                    
$file FILE.
 
Return values
array<string|int, mixed> —ids of created objects
entityTagAdd()
Add entity(s) to the tag
    public
                    entityTagAdd(array<string|int, mixed> $params) : true
    Parameters
- $params : array<string|int, mixed>
 
Return values
trueeventCreate()
Create an Event.
    public
                    eventCreate([array<string|int, mixed> $params = [] ][, string $identifier = 'event' ]) : array<string|int, mixed>
    Note this is not expected to be called directly - call
- eventCreatePaid
 - eventCreateUnpaid
 
Parameters
- $params : array<string|int, mixed> = []
 - 
                    
Name-value pair for an event.
 - $identifier : string = 'event'
 
Return values
array<string|int, mixed>eventDelete()
Delete event.
    public
                    eventDelete(int $id) : array<string|int, mixed>|int
    Parameters
- $id : int
 - 
                    
ID of the event.
 
Return values
array<string|int, mixed>|intfinancialAccountDelete()
    public
                    financialAccountDelete(string $name) : mixed
    Parameters
- $name : string
 
getAndCheck()
    public
                    getAndCheck(array<string|int, mixed> $params, int $id, string $entity[, int $delete = 1 ][, string $errorText = '' ]) : void
    Parameters
- $params : array<string|int, mixed>
 - $id : int
 - $entity : string
 - $delete : int = 1
 - $errorText : string = ''
 
getBooleanDataProvider()
Get the boolean options as a provider.
    public
                    getBooleanDataProvider() : array<string|int, mixed>
    Return values
array<string|int, mixed>getFinancialTypeID()
Return financial type id on basis of name
    public
                    getFinancialTypeID(string $name) : int
    Parameters
- $name : string
 - 
                    
Financial type m/c name
 
Return values
intgetFormObject()
Instantiate form object.
    public
                    getFormObject(string $class[, array<string|int, mixed> $formValues = [] ][, array<string|int, mixed> $urlParameters = [] ]) : CRM_Core_Form|CRM_Event_Form_Registration_Register
    We need to instantiate the form to run preprocess, which means we have to trick it about the request method.
Parameters
- $class : string
 - 
                    
Name of form class.
 - $formValues : array<string|int, mixed> = []
 - $urlParameters : array<string|int, mixed> = []
 
Tags
Return values
CRM_Core_Form|CRM_Event_Form_Registration_RegistergetLoggedInUser()
Get the logged in user record.
    public
                    getLoggedInUser() : int|null
    Return values
int|nullgetMembershipTypeID()
Get the id for the given type.
    public
                    getMembershipTypeID(string $name) : int
    Parameters
- $name : string
 
Return values
intgetSearchFormObject()
Instantiate form object.
    public
                    getSearchFormObject(string $class[, array<string|int, mixed> $formValues = [] ][, string|null $pageName = 'Search' ][, array<string|int, mixed> $searchFormValues = [] ]) : CRM_Core_Form
    We need to instantiate the form to run preprocess, which means we have to trick it about the request method.
Parameters
- $class : string
 - 
                    
Name of form class.
 - $formValues : array<string|int, mixed> = []
 - $pageName : string|null = 'Search'
 - $searchFormValues : array<string|int, mixed> = []
 - 
                    
Values for the search form if the form is a task eg. for selected ids 6 & 8: [ 'radio_ts' => 'ts_sel', 'task' => CRM_Member_Task::PDF_LETTER, 'mark_x_6' => 1, 'mark_x_8' => 1, ]
 
Tags
Return values
CRM_Core_FormgetTestForm()
    public
                    getTestForm(mixed $formName, mixed $submittedValues[, array<string|int, mixed> $urlParameters = [] ]) : FormWrapper
    Parameters
- $formName : mixed
 - $submittedValues : mixed
 - $urlParameters : array<string|int, mixed> = []
 
Return values
FormWrappergetTestPage()
    public
                    getTestPage(string $pageName[, array<string|int, mixed> $urlParameters = [] ]) : PageWrapper
    Parameters
- $pageName : string
 - $urlParameters : array<string|int, mixed> = []
 
Return values
PageWrappergetThousandSeparators()
Get possible thousand separators.
    public
                    getThousandSeparators() : array<string|int, mixed>
    Return values
array<string|int, mixed>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
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
 
hook_civicrm_pre_update_create_membership()
Custom hook for update membership.
    public
                    hook_civicrm_pre_update_create_membership(string $op, object $objectName, int $id, array<string|int, mixed> &$params) : mixed
    Parameters
- $op : string
 - $objectName : object
 - $id : int
 - $params : array<string|int, mixed>
 
Tags
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
loadAllFixtures()
Read everything from the datasets directory and insert into the db.
    public
                    loadAllFixtures() : void
    Tags
locationAdd()
Add a Location.
    public
                    locationAdd(int $contactID) : int
    Parameters
- $contactID : int
 
Return values
int —location id of created location
locationTypeCreate()
Add a Location Type.
    public
                    locationTypeCreate([array<string|int, mixed> $params = [] ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
int —location id of created location
locationTypeDelete()
Delete a Location Type.
    public
                    locationTypeDelete(int $locationTypeID) : void
    Parameters
- $locationTypeID : int
 
mappingCreate()
Add a Mapping.
    public
                    mappingCreate([array<string|int, mixed> $params = NULL ]) : CRM_Core_DAO_Mapping
    Parameters
- $params : array<string|int, mixed> = NULL
 
Return values
CRM_Core_DAO_Mapping —Mapping id of created mapping
mappingDelete()
Delete a Mapping
    public
                    mappingDelete(int $mappingID) : void
    Parameters
- $mappingID : int
 
membershipDelete()
    public
                    membershipDelete(int $membershipID) : mixed
    Parameters
- $membershipID : int
 
membershipRenewalDate()
    public
                    membershipRenewalDate(mixed $durationUnit, mixed $membershipEndDate) : mixed
    Parameters
- $durationUnit : mixed
 - $membershipEndDate : mixed
 
membershipStatusCreate()
    public
                    membershipStatusCreate([string $name = 'test member status' ]) : int
    Parameters
- $name : string = 'test member status'
 
Return values
intmembershipStatusDelete()
Delete the given membership status, deleting any memberships of the status first.
    public
                    membershipStatusDelete(int $membershipStatusID) : void
    Parameters
- $membershipStatusID : int
 
Tags
membershipTypeCreate()
    public
                    membershipTypeCreate([array<string|int, mixed> $params = [] ][, string $identifer = 'test' ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 - $identifer : string = 'test'
 
Return values
intmembershipTypeDelete()
Delete Membership Type.
    public
                    membershipTypeDelete(array<string|int, mixed> $params) : mixed
    Parameters
- $params : array<string|int, mixed>
 
offsetDefaultPriceSet()
Alter default price set so that the field numbers are not all 1 (hiding errors)
    public
                    offsetDefaultPriceSet() : mixed
    onPost()
An implementation of hook_civicrm_post used with all our test cases.
    public
                    onPost(mixed $op, string $objectName, int $objectId, mixed &$objectRef) : mixed
    Parameters
- $op : mixed
 - $objectName : string
 - $objectId : int
 - $objectRef : mixed
 
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
participantCreate()
Create Participant.
    public
                    participantCreate([array<string|int, mixed> $params = [] ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 - 
                    
Array of contact id and event id values.
 
Return values
int —id of participant created
participantDelete()
Delete participant.
    public
                    participantDelete(int $participantID) : array<string|int, mixed>|int
    Parameters
- $participantID : int
 
Return values
array<string|int, mixed>|intparticipantPaymentCreate()
Create participant payment.
    public
                    participantPaymentCreate(int $participantID[, int $contributionID = NULL ]) : int
    Parameters
- $participantID : int
 - $contributionID : int = NULL
 
Return values
int —$id of created payment
participantPaymentDelete()
Delete participant payment.
    public
                    participantPaymentDelete(int $paymentID) : mixed
    Parameters
- $paymentID : int
 
paymentProcessorCreate()
Create an instance of the paypal processor.
    public
                    paymentProcessorCreate([array<string|int, mixed> $params = [] ][, string $identifier = 'test' ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 - $identifier : string = 'test'
 
Tags
Return values
int —$result['id'] payment processor id
paymentProcessorTypeCreate()
    public
                    paymentProcessorTypeCreate([array<string|int, mixed> $params = [] ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
intpledgeCreate()
Create pledge.
    public
                    pledgeCreate(array<string|int, mixed> $params) : int
    Parameters
- $params : array<string|int, mixed>
 - 
                    
Parameters.
 
Return values
int —id of created pledge
pledgeDelete()
Delete pledge.
    public
                    pledgeDelete(int $pledgeID) : void
    Parameters
- $pledgeID : int
 
processorCreate()
Create Payment Processor.
    public
                    processorCreate([mixed $params = [] ]) : int
    Parameters
- $params : mixed = []
 
Return values
int —Payment Processor ID.
quickCleanup()
Quick clean by emptying tables created for the test.
    public
                    quickCleanup(array<string|int, mixed> $tablesToTruncate[, bool $dropCustomValueTables = FALSE ]) : void
    Parameters
- $tablesToTruncate : array<string|int, mixed>
 - $dropCustomValueTables : bool = FALSE
 
Tags
quickCleanUpFinancialEntities()
Clean up financial entities after financial tests (so we remember to get all the tables :-))
    public
                    quickCleanUpFinancialEntities() : void
    Tags
relationshipTypeCreate()
Create a relationship type.
    public
                    relationshipTypeCreate([array<string|int, mixed> $params = [] ]) : int
    Parameters
- $params : array<string|int, mixed> = []
 
Tags
Return values
intrelationshipTypeDelete()
Delete Relatinship Type.
    public
                    relationshipTypeDelete(int $relationshipTypeID) : mixed
    Parameters
- $relationshipTypeID : int
 
restoreDefaultPriceSetConfig()
Reset the price set config so results exist.
    public
                    restoreDefaultPriceSetConfig() : void
    restoreMembershipTypes()
Recreate default membership types.
    public
                    restoreMembershipTypes() : void
    Tags
retrieveEntityFinancialTrxn()
Retrieve entity financial trxn details.
    public
                    retrieveEntityFinancialTrxn(array<string|int, mixed> $params[, bool $maxId = FALSE ]) : array<string|int, mixed>
    - only called by tests - to be replaced with $trxn = (array) EntityFinancialTrxn::get() ->addWhere('id', '=', $contributionID) ->addWhere('entity_table', '=', 'civicrm_contribution') ->addSelect('*')->execute();
 
- this was used so much in tests I copied it over - but it should go.... the tests just need to use the api.
 
Parameters
- $params : array<string|int, mixed>
 - 
                    
an assoc array of name/value pairs.
 - $maxId : bool = FALSE
 - 
                    
To retrieve max id.
 
Return values
array<string|int, mixed>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
Return values
array<string|int, mixed>|intsampleContact()
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)
selectWhereClauseHook()
    public
                    selectWhereClauseHook(string $entity, array<string|int, mixed> &$clauses) : void
    Parameters
- $entity : string
 - $clauses : array<string|int, mixed>
 
Tags
setExtensionSystem()
Temporarily replace the singleton extension with a different one.
    public
                    setExtensionSystem(CRM_Extension_System $system) : mixed
    Parameters
- $system : CRM_Extension_System
 
setMockSettingsMetaData()
Temporarily alter the settings-metadata to add a mock setting.
    public
                    setMockSettingsMetaData(mixed $extras) : void
    WARNING: The setting metadata will disappear on the next cache-clear.
Parameters
- $extras : mixed
 
setUp()
Set up for tests.
    public
                    setUp() : void
    setupACL()
Set up an acl allowing contact to see 2 specified groups - $this->_permissionedGroup & $this->_permissionedDisabledGroup
    public
                    setupACL([bool $isProfile = FALSE ]) : void
    You need to have pre-created these groups & created the user e.g $this->createLoggedInUser(); $this->_permissionedDisabledGroup = $this->groupCreate(array('title' => 'pick-me-disabled', 'is_active' => 0, 'name' => 'pick-me-disabled')); $this->_permissionedGroup = $this->groupCreate(array('title' => 'pick-me-active', 'is_active' => 1, 'name' => 'pick-me-active'));
Parameters
- $isProfile : bool = FALSE
 
Tags
setUpBeforeClass()
    public
            static        setUpBeforeClass() : void
    setupForSmsTests()
Setup or clean up SMS tests
    public
                    setupForSmsTests([bool $teardown = FALSE ]) : mixed
    Parameters
- $teardown : bool = FALSE
 
Tags
setupMembershipRecurringPaymentProcessorTransaction()
We don't have a good way to set up a recurring contribution with a membership so let's just do one then alter it
    public
                    setupMembershipRecurringPaymentProcessorTransaction([array<string|int, mixed> $params = [] ][, array<string|int, mixed> $contributionParams = [] ]) : void
    Parameters
- $params : array<string|int, mixed> = []
 - 
                    
Optionally modify params for membership/recur (duration_unit/frequency_unit)
 - $contributionParams : array<string|int, mixed> = []
 - 
                    
Parameters to pass to contribution create.
 
Tags
setupRecurringPaymentProcessorTransaction()
Set up initial recurring payment allowing subsequent IPN payments.
    public
                    setupRecurringPaymentProcessorTransaction([array<string|int, mixed> $recurParams = [] ][, array<string|int, mixed> $contributionParams = [] ][, string $identifier = 'default' ]) : void
    Parameters
- $recurParams : array<string|int, mixed> = []
 - 
                    
(Optional)
 - $contributionParams : array<string|int, mixed> = []
 - 
                    
(Optional)
 - $identifier : string = 'default'
 
smartGroupCreate()
Create a smart group.
    public
                    smartGroupCreate([array<string|int, mixed> $smartGroupParams = [] ][, array<string|int, mixed> $groupParams = [] ][, string $contactType = 'Household' ]) : int
    By default it will be a group of households.
Parameters
- $smartGroupParams : array<string|int, mixed> = []
 - $groupParams : array<string|int, mixed> = []
 - $contactType : string = 'Household'
 
Return values
inttagCreate()
Create Tag.
    public
                    tagCreate([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
array<string|int, mixed> —result of created tag
tagDelete()
Delete Tag.
    public
                    tagDelete(int $tagID) : int
    Parameters
- $tagID : int
 - 
                    
ID of the tag to be deleted.
 
Return values
inttearDown()
Clean up after tests.
    public
                    tearDown() : void
    Tags
testContactMembershipsGet()
Test membership get.
    public
                    testContactMembershipsGet() : void
    testCreateOverrideNoStatus()
If is_overide is passed in status must also be passed in.
    public
                    testCreateOverrideNoStatus() : void
    testCreatePending()
Test dates are calculated for pending membership.
    public
                    testCreatePending() : void
    testCreatePendingWithSkipStatusCalc()
Test dates are calculated for pending membership.
    public
                    testCreatePendingWithSkipStatusCalc() : void
    testCreateWithCustom()
Check with complete array + custom field Note that the test is written on purpose without any variables specific to participant so it can be replicated into other entities and / or moved to the automated test suite
    public
                    testCreateWithCustom() : void
    testCreateWithRelationship()
Test civicrm_membership_create with relationships.
    public
                    testCreateWithRelationship() : void
    create/get Memberships.
Test suite for CRM-14758: API ( contact, create ) does not always create related membership and max_related property for Membership_Type and Membership entities
Tags
testCreateWithSpouseRelationship()
Test that loops are not created when adding spouse relationships.
    public
                    testCreateWithSpouseRelationship() : void
    This add a test for https://issues.civicrm.org/jira/browse/CRM-4213 in the hope of removing the buggy fix for that without a resurgence.
Tags
testEmptyEndDateFixed()
Test that if membership end date is not set it defaults to correct end date.
    public
                    testEmptyEndDateFixed() : void
    - rolling
 
testEmptyEndDateRolling()
Test that if membership end date is not set it defaults to correct end date.
    public
                    testEmptyEndDateRolling() : void
    - rolling
 
testEmptyJoinDate()
Test that if membership join date is not set it defaults to today.
    public
                    testEmptyJoinDate() : void
    testEmptyStartDateFixed()
Test that if membership start date is not set it defaults to correct end date.
    public
                    testEmptyStartDateFixed() : void
    - fixed
 
testEmptyStartDateRolling()
Test that if membership start date is not set it defaults to correct end date for fixed single year memberships.
    public
                    testEmptyStartDateRolling() : void
    testEmptyStartEndDateFixedMultiYear()
Test that if membership start date is not set it defaults to correct end date for fixed multi year memberships.
    public
                    testEmptyStartEndDateFixedMultiYear() : void
    testEmptyStartEndDateFixedOneYear()
Test that if membership start date is not set it defaults to correct end date - fixed
    public
                    testEmptyStartEndDateFixedOneYear() : void
    testFixedMultiYearDateSetThreeEmptyEndDate()
Test that correct end date is calculated for fixed multi year memberships and start date is not changed.
    public
                    testFixedMultiYearDateSetThreeEmptyEndDate() : void
    In this set our start date is after the start day and after the rollover day so we do get an extra year and we end one day before the rollover day. Start day is 1 Nov so we end on 31 Oct and we add on 5 years we are after the rollover day - so we calculate 31 Oct 2020
testFixedMultiYearDateSetThreeEmptyStartEndDate()
Test correct end and start dates are calculated for fixed multi year memberships.
    public
                    testFixedMultiYearDateSetThreeEmptyStartEndDate() : void
    The empty start date is calculated to be the start_date (1 Nov prior to the join_date - so 1 Nov 14)
The empty start date is calculated to be the start_date (1 Nov prior to the join_date - so 1 Nov 14) In this set our join date is after the start day and after the rollover day so we do get an extra year and we end one day before the rollover day. Start day is 1 Nov so we end on 31 Oct and we add on 5 years we are after the rollover day - so we calculate 31 Oct 2020
testFixedMultiYearDateSetTwoEmptyEndDate()
Test that correct end date is calculated for fixed multi year memberships and start date is not changed.
    public
                    testFixedMultiYearDateSetTwoEmptyEndDate() : void
    In this set our start date is after the start day and before the rollover day so we don't get an extra year and we end one day before the rollover day. Start day is 1 Jan so we end on 31 Dec and we add on 4 years rather than 5 because we are not after the rollover day - so we calculate 31 Dec 2019
testFixedMultiYearDateSetTwoEmptyStartEndDate()
Test correct end and start dates are calculated for fixed multi year memberships.
    public
                    testFixedMultiYearDateSetTwoEmptyStartEndDate() : void
    The empty start date is calculated to be the start_date (1 Jan prior to the join_date - so 1 Jan 15)
In this set our start date is after the start day and before the rollover day so we don't get an extra year and we end one day before the rollover day. Start day is 1 Jan so we end on 31 Dec and we add on 4 years rather than 5 because we are not after the rollover day - so we calculate 31 Dec 2019
testFixedSingleYearDateSetThreeEmptyEndDate()
Test that correct end date is calculated for fixed multi year memberships and start date is not changed.
    public
                    testFixedSingleYearDateSetThreeEmptyEndDate() : void
    In this set our start date is after the start day and after the rollover day so we do get an extra year and we end one day before the rollover day. Start day is 1 Nov so we end on 31 Oct and we add on 1 year we are after the rollover day - so we calculate 31 Oct 2016
testFixedSingleYearDateSetThreeEmptyStartEndDate()
Test correct end and start dates are calculated for fixed multi year memberships.
    public
                    testFixedSingleYearDateSetThreeEmptyStartEndDate() : void
    The empty start date is calculated to be the start_date (1 Nov prior to the join_date - so 1 Nov 14)
In this set our start date is after the start day and after the rollover day so we do get an extra year and we end one day before the rollover day. Start day is 1 Nov so we end on 31 Oct and we add on 1 year we are after the rollover day - so we calculate 31 Oct 2016
testFixedSingleYearDateSetTwoEmptyEndDate()
Test correct end date for fixed single year memberships is calculated and start_date is not changed.
    public
                    testFixedSingleYearDateSetTwoEmptyEndDate() : void
    In this set our start date is after the start day and before the rollover day so we don't get an extra year and we end one day before the rollover day. Start day is 1 Jan so we end on 31 Dec and we add on <1 years rather than > 1 because we are not after the rollover day - so we calculate 31 Dec 2015
testFixedSingleYearDateSetTwoEmptyStartEndDate()
Test correct end and start dates are calculated for fixed multi year memberships.
    public
                    testFixedSingleYearDateSetTwoEmptyStartEndDate() : void
    The empty start date is calculated to be the start_date (1 Jan prior to the join_date - so 1 Jan 15)
In this set our start date is after the start day and before the rollover day so we don't get an extra year and we end one day before the rollover day. Start day is 1 Jan so we end on 31 Dec and we add on <1 years rather than > 1 because we are not after the rollover day - so we calculate 31 Dec 2015
testGet()
Test civicrm_membership_get with proper params.
    public
                    testGet() : void
    Memberships expected.
testGetInSyntax()
Test civicrm_membership_get with params not array.
    public
                    testGetInSyntax() : void
    Gets treated as contact_id, memberships expected.
Tags
testGetInSyntaxOnContactID()
Test civicrm_membership_get with params not array.
    public
                    testGetInSyntaxOnContactID() : void
    Gets treated as contact_id, memberships expected.
testGetNoContactExists()
Test civicrm_membership_get for non exist contact.
    public
                    testGetNoContactExists() : void
    empty Memberships.
testGetOnlyActive()
Test civicrm_membership_get for only active.
    public
                    testGetOnlyActive() : void
    Memberships expected.
testGetOptionsMembershipTypeID()
Test that all membership types are returned when getoptions is called.
    public
                    testGetOptionsMembershipTypeID() : void
    This test locks in current behaviour where types for all domains are returned. It should possibly be domain specific but that should only be done in conjunction with adding a hook to allow that to be altered as the multisite use case expects the master domain to be able to see all sites.
See CRM-17075.
testGetWithId()
Test civicrm_membership_get with proper params.
    public
                    testGetWithId() : void
    Memberships expected.
testGetWithParamsContactId()
Test civicrm_membership_get with params not array.
    public
                    testGetWithParamsContactId() : void
    Gets treated as contact_id, memberships expected.
testGetWithParamsMemberShipIdAndCustom()
Check with complete array + custom field.
    public
                    testGetWithParamsMemberShipIdAndCustom() : void
    Note that the test is written on purpose without any variables specific to participant so it can be replicated into other entities and / or moved to the automated test suite
testGetWithParamsMemberShipTypeId()
Test civicrm_membership_get with params not array.
    public
                    testGetWithParamsMemberShipTypeId() : void
    Gets treated as contact_id, memberships expected.
testGetWithParamsMemberShipTypeIdContactID()
Test civicrm_membership_get with params not array.
    public
                    testGetWithParamsMemberShipTypeIdContactID() : void
    Gets treated as contact_id, memberships expected.
testGetWithRelationship()
Test civicrm_membership_get with relationship.
    public
                    testGetWithRelationship() : void
    get Memberships.
Tags
testMembershipCreate()
    public
                    testMembershipCreate() : void
    testMembershipCreateInValidMembershipTypeString()
Test civicrm_contact_memberships_create with membership_contact_id membership).
    public
                    testMembershipCreateInValidMembershipTypeString() : void
    Success expected.
testMembershipCreateInvalidMemData()
Test civicrm_contact_memberships_create Invalid membership data.
    public
                    testMembershipCreateInvalidMemData() : void
    Error expected.
testMembershipCreateMissingRequired()
    public
                    testMembershipCreateMissingRequired() : void
    testMembershipCreateUpdateWithIDAndSource()
Test civicrm_contact_memberships_create with membership id (edit membership).
    public
                    testMembershipCreateUpdateWithIDAndSource() : void
    success expected.
testMembershipCreateUpdateWithIdNoContact()
Test civicrm_contact_memberships_create with membership id (edit membership).
    public
                    testMembershipCreateUpdateWithIdNoContact() : void
    success expected.
testMembershipCreateUpdateWithIdNoDates()
Test civicrm_contact_memberships_create with membership id (edit membership).
    public
                    testMembershipCreateUpdateWithIdNoDates() : void
    success expected.
testMembershipCreateUpdateWithIdNoDatesNoType()
Test civicrm_contact_memberships_create with membership id (edit membership).
    public
                    testMembershipCreateUpdateWithIdNoDatesNoType() : void
    success expected.
testMembershipCreateValidMembershipTypeString()
Test civicrm_contact_memberships_create with membership_contact_id membership).
    public
                    testMembershipCreateValidMembershipTypeString() : void
    Success expected.
testMembershipCreateWithId()
Test civicrm_contact_memberships_create with membership id (edit membership).
    public
                    testMembershipCreateWithId(mixed $version) : void
    Parameters
- $version : mixed
 
Tags
testMembershipCreateWithInvalidContact()
Check for useful message if contact doesn't exist
    public
                    testMembershipCreateWithInvalidContact() : void
    testMembershipCreateWithMemContact()
Test civicrm_contact_memberships_create with membership_contact_id membership).
    public
                    testMembershipCreateWithMemContact() : void
    Success expected.
testMembershipDatesNotOverridden()
Test that if dates are set they not over-ridden if id is passed in
    public
                    testMembershipDatesNotOverridden() : void
    testMembershipDelete()
Test membership deletion.
    public
                    testMembershipDelete() : void
    testMembershipDeleteEmpty()
    public
                    testMembershipDeleteEmpty() : void
    testMembershipDeleteInvalidID()
    public
                    testMembershipDeleteInvalidID() : void
    testMembershipDeletePreserveContribution()
Test membership deletion and with the preserve contribution param.
    public
                    testMembershipDeletePreserveContribution() : void
    testMembershipGetWithReturn()
We are checking for no e-notices + only id & end_date returned
    public
                    testMembershipGetWithReturn() : void
    Tags
testMembershipJoinDateFixed()
CRM-18503 - Test membership join date is correctly set for fixed memberships.
    public
                    testMembershipJoinDateFixed() : void
    Tags
testMembershipUpdateCreateHookCRM15746()
per CRM-15746 check that the id can be altered in an update hook
    public
                    testMembershipUpdateCreateHookCRM15746() : void
    testMultipleMembershipContribution()
Test that a contribution linked to multiple memberships results in all being updated.
    public
                    testMultipleMembershipContribution() : void
    Tags
testMultipleMembershipsContribution()
Test Multiple Membership Status for same contribution id.
    public
                    testMultipleMembershipsContribution() : void
    testSearchWithCustomDataCRM16036()
Search on custom field value.
    public
                    testSearchWithCustomDataCRM16036() : void
    testUpdateWithCustom()
Change custom field using update.
    public
                    testUpdateWithCustom() : void
    uFFieldCreate()
Create a UFField.
    public
                    uFFieldCreate([array<string|int, mixed> $params = [] ]) : mixed
    Parameters
- $params : array<string|int, mixed> = []
 
ufjoinCreate()
Add a UF Join Entry.
    public
                    ufjoinCreate([array<string|int, mixed>|null $params = NULL ]) : int
    Parameters
- $params : array<string|int, mixed>|null = NULL
 
Return values
int —$id of created UF Join
unsetExtensionSystem()
    public
                    unsetExtensionSystem() : mixed
    useMultilingual()
Temporarily use multilingual.
    public
                    useMultilingual(array<string|int, mixed> $addLocales) : CRM_Utils_AutoClean
    Parameters
- $addLocales : array<string|int, mixed>
 - 
                    
A list of new locales to setup. A locale is initialized by copying from an existing locale.
Ex: Copy from en_US to fr_CA ['en_US' => 'fr_CA'] Ex: Copy from en_US to fr_CA and de_DE ['en_US' => ['fr_CA', 'de_DE]]
 
Return values
CRM_Utils_AutoClean —A reference to the temporary configuration. Once removed, the system will revert to single language.
useTransaction()
Wrap the entire test case in a transaction.
    public
                    useTransaction([bool $nest = TRUE ]) : mixed
    Only subsequent DB statements will be wrapped in TX -- this cannot retroactively wrap old DB statements. Therefore, it makes sense to call this at the beginning of setUp().
Note: Recall that TRUNCATE and ALTER will force-commit transactions, so this option does not work with, e.g., custom-data.
WISHLIST: Monitor SQL queries in unit-tests and generate an exception if TRUNCATE or ALTER is called while using a transaction.
Parameters
- $nest : bool = TRUE
 - 
                    
Whether to use nesting or reference-counting.
 
versionThreeAndFour()
Get the api versions to test.
    public
                    versionThreeAndFour() : array<string|int, mixed>
    Return values
array<string|int, mixed>addLocationBlockToDomain()
Add an address block to the current domain.
    protected
                    addLocationBlockToDomain() : void
    Tags
addProfile()
Add a profile to a contribution page.
    protected
                    addProfile(string $name, int $contributionPageID[, string $module = 'CiviContribute' ]) : mixed
    Parameters
- $name : string
 - $contributionPageID : int
 - $module : string = 'CiviContribute'
 
addTaxAccountToFinancialType()
Add Sales Tax Account for the financial type.
    protected
                    addTaxAccountToFinancialType(int $financialTypeID[, array<string|int, mixed> $accountParams = [] ]) : CRM_Financial_DAO_EntityFinancialAccount
    Parameters
- $financialTypeID : int
 - $accountParams : array<string|int, mixed> = []
 
Tags
Return values
CRM_Financial_DAO_EntityFinancialAccountassertAttachmentExistence()
Assert the attachment exists.
    protected
                    assertAttachmentExistence(bool $exists, array<string|int, mixed> $apiResult) : void
    Parameters
- $exists : bool
 - $apiResult : array<string|int, mixed>
 
assertLike()
Assert 2 sql strings are the same, ignoring double spaces.
    protected
                    assertLike(string $expectedSQL, string $actualSQL[, string $message = 'different sql' ]) : void
    Parameters
- $expectedSQL : string
 - $actualSQL : string
 - $message : string = 'different sql'
 
assertMailSentContainingHeaderString()
Assert that the sent mail included the supplied string.
    protected
                    assertMailSentContainingHeaderString(string $string[, int $mailIndex = 0 ]) : void
    Parameters
- $string : string
 - $mailIndex : int = 0
 
assertMailSentContainingHeaderStrings()
Assert that the sent mail included the supplied strings.
    protected
                    assertMailSentContainingHeaderStrings(array<string|int, mixed> $strings[, int $mailIndex = 0 ]) : void
    Parameters
- $strings : array<string|int, mixed>
 - $mailIndex : int = 0
 
assertMailSentContainingString()
Assert that the sent mail included the supplied string.
    protected
                    assertMailSentContainingString(string $string[, int $mailIndex = 0 ]) : void
    Parameters
- $string : string
 - $mailIndex : int = 0
 
assertMailSentContainingStrings()
Assert that the sent mail included the supplied strings.
    protected
                    assertMailSentContainingStrings(array<string|int, mixed> $strings[, int $mailIndex = 0 ]) : void
    Parameters
- $strings : array<string|int, mixed>
 - $mailIndex : int = 0
 
assertMailSentCount()
Assert the right number of mails were sent.
    protected
                    assertMailSentCount(int $count) : void
    Parameters
- $count : int
 
assertMailSentNotContainingString()
Assert that the sent mail included the supplied string.
    protected
                    assertMailSentNotContainingString(string $string[, int $mailIndex = 0 ]) : void
    Parameters
- $string : string
 - $mailIndex : int = 0
 
assertMailSentNotContainingStrings()
Assert that the sent mail included the supplied strings.
    protected
                    assertMailSentNotContainingStrings(array<string|int, mixed> $strings[, int $mailIndex = 0 ]) : void
    Parameters
- $strings : array<string|int, mixed>
 - $mailIndex : int = 0
 
assertMailSentTo()
Assert that the sent mail included the supplied strings.
    protected
                    assertMailSentTo(array<string|int, mixed> $recipients[, int $mailIndex = 0 ]) : void
    Parameters
- $recipients : array<string|int, mixed>
 - $mailIndex : int = 0
 
assertOutputNotContainsString()
Assert that the status set does not contain the given string.
    protected
                    assertOutputNotContainsString(string $string) : void
    .
Parameters
- $string : string
 
assertPostConditions()
CHeck that all tests that have created payments have created them with the right financial entities.
    protected
                    assertPostConditions() : void
    Tags
assertPrematureExit()
    protected
                    assertPrematureExit() : void
    assertTemplateVariable()
    protected
                    assertTemplateVariable(mixed $name, mixed $expected) : void
    Parameters
- $name : mixed
 - $expected : mixed
 
assertValidationError()
Assert that the sent mail included the supplied string.
    protected
                    assertValidationError(array<string|int, mixed> $errors) : void
    Parameters
- $errors : array<string|int, mixed>
 
basicCreateTest()
Generic create test.
    protected
                    basicCreateTest(int $version) : void
    Parameters
- $version : int
 
Tags
basicDeleteTest()
Generic delete test.
    protected
                    basicDeleteTest(int $version) : void
    Parameters
- $version : int
 
Tags
captureOutputToCSV()
Stop capturing browser output and return as a csv.
    protected
                    captureOutputToCSV([bool $isFirstRowHeaders = TRUE ]) : Reader
    Parameters
- $isFirstRowHeaders : bool = TRUE
 
Tags
Return values
ReadercleanUpAfterACLs()
Reset after ACLs.
    protected
                    cleanUpAfterACLs() : mixed
    cleanupCustomGroups()
Delete any existing custom data groups.
    protected
                    cleanupCustomGroups() : void
    cleanUpSetUpIDs()
Cleanup function for contents of $this->ids.
    protected
                    cleanUpSetUpIDs() : mixed
    This is a best effort cleanup to use in tear downs etc.
It will not fail if the data has already been removed (some tests may do their own cleanup).
createContributionAndMembershipOrder()
Create an order with a contribution AND a membership line item.
    protected
                    createContributionAndMembershipOrder() : void
    Tags
createEventOrder()
Create an order for an event.
    protected
                    createEventOrder([array<string|int, mixed> $orderParams = [] ]) : mixed
    Parameters
- $orderParams : array<string|int, mixed> = []
 
Tags
createExtraneousContribution()
Create an extraneous contribution to throw off any 'number one bugs'.
    protected
                    createExtraneousContribution() : mixed
    Ie this means our real data starts from 2 & we won't hit 'pretend passes' just because the number 1 is used for multiple entities.
createFinancialType()
Create Financial Type.
    protected
                    createFinancialType([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
    Parameters
- $params : array<string|int, mixed> = []
 
Return values
array<string|int, mixed>createMultipleMembershipOrder()
Create an order with more than one membership.
    protected
                    createMultipleMembershipOrder() : mixed
    Tags
createPartiallyPaidParticipantOrder()
Add participant with contribution
    protected
                    createPartiallyPaidParticipantOrder() : array<string|int, mixed>
    Tags
Return values
array<string|int, mixed>createPriceSet()
Create price set that includes one price field with two option values.
    protected
                    createPriceSet([string $component = 'contribution_page' ][, int|null $componentID = NULL ][, array<string|int, mixed> $priceFieldOptions = [] ][, string $identifier = 'price_set_test' ]) : array<string|int, mixed>
    Parameters
- $component : string = 'contribution_page'
 - $componentID : int|null = NULL
 - $priceFieldOptions : array<string|int, mixed> = []
 - $identifier : string = 'price_set_test'
 
Return values
array<string|int, mixed> —- the result of API3 PriceFieldValue.get for the new PriceField
 
createRuleGroup()
    protected
                    createRuleGroup() : array<string|int, mixed>|int
    Return values
array<string|int, mixed>|intdeleteNonDefaultRelationshipTypes()
Delete any extraneous relationship types.
    protected
                    deleteNonDefaultRelationshipTypes() : void
    Tags
disableTaxAndInvoicing()
Enable Tax and Invoicing
    protected
                    disableTaxAndInvoicing() : void
    disorganizeOptionValues()
Disorganize our option values to ensure we are not relying on luck.
    protected
                    disorganizeOptionValues() : void
    For example our contributions and recurring contributions use different option groups for contribution_status_id but by happy co-incidence (ahem) both have 1 for completed by default. This upsets that co-incidence for more robust testing. Ideally we would do this for all tests & for a range of values but there is too much hard-coding to roll that out right now.
Tags
enableTaxAndInvoicing()
Enable Tax and Invoicing
    protected
                    enableTaxAndInvoicing([array<string|int, mixed> $params = [] ]) : void
    Parameters
- $params : array<string|int, mixed> = []
 
ensureMembershipPriceSetExists()
Ensure the default price set & field exist for memberships.
    protected
                    ensureMembershipPriceSetExists() : void
    ensureMySQLMode()
Ensure the specified mysql mode/s are activated.
    protected
                    ensureMySQLMode(array<string|int, mixed> $modes) : void
    Parameters
- $modes : array<string|int, mixed>
 
Tags
eventCreatePaid()
Create a paid event.
    protected
                    eventCreatePaid([array<string|int, mixed> $eventParameters = [] ][, array<string|int, mixed> $priceSetParameters = [] ][, string $identifier = 'PaidEvent' ]) : array<string|int, mixed>
    Parameters
- $eventParameters : array<string|int, mixed> = []
 - 
                    
Values to
 - $priceSetParameters : array<string|int, mixed> = []
 - $identifier : string = 'PaidEvent'
 - 
                    
Index for storing event ID in ids array.
 
Return values
array<string|int, mixed>eventCreateUnpaid()
Create an unpaid event.
    protected
                    eventCreateUnpaid([array<string|int, mixed> $eventParameters = [] ][, string $identifier = 'event' ]) : array<string|int, mixed>
    Parameters
- $eventParameters : array<string|int, mixed> = []
 - 
                    
Values to
 - $identifier : string = 'event'
 - 
                    
Index for storing event ID in ids array.
 
Return values
array<string|int, mixed>eventPriceSetCreate()
Create a price set for an event.
    protected
                    eventPriceSetCreate(float $feeTotal[, float $minAmt = 0 ][, string $type = 'Text' ][, array<string|int, mixed> $options = [['name' => 'hundred', 'amount' => 100]] ]) : int
    Parameters
- $feeTotal : float
 - $minAmt : float = 0
 - $type : string = 'Text'
 - $options : array<string|int, mixed> = [['name' => 'hundred', 'amount' => 100]]
 
Tags
Return values
int —Price Set ID.
flushFinancialTypeStatics()
Flush statics relating to financial type.
    protected
                    flushFinancialTypeStatics() : void
    Tags
formatMoneyInput()
Format money as it would be input.
    protected
                    formatMoneyInput(string $amount) : string
    Parameters
- $amount : string
 
Return values
stringgetContributionObject()
Get the contribution object.
    protected
                    getContributionObject(int $contributionID) : CRM_Contribute_BAO_Contribution
    Parameters
- $contributionID : int
 
Return values
CRM_Contribute_BAO_ContributiongetDefaultSystemLocale()
Get the default system locale.
    protected
                    getDefaultSystemLocale() : string
    Return values
stringgetDeprecatedProperty()
Retrieve a deprecated property, ensuring a deprecation notice is thrown.
    protected
                    getDeprecatedProperty(string $property) : mixed
    Parameters
- $property : string
 
Tags
getEvent()
This retrieves the values used to create the event.
    protected
                    getEvent(string $identifier) : array<string|int, mixed>
    Note this does not actually retrieve the event from the database although it arguably might be more useful.
Parameters
- $identifier : string
 
Return values
array<string|int, mixed>getEventExampleData()
Get example data with which to create the event.
    protected
                    getEventExampleData([string $name = 'PaidEvent' ]) : array<string|int, mixed>
    Parameters
- $name : string = 'PaidEvent'
 
Return values
array<string|int, mixed>getEventID()
Get the event id of the event created in set up.
    protected
                    getEventID([string $identifier = 'event' ]) : int
    If only one has been created it will be selected. Otherwise you should pass in the appropriate identifier.
Parameters
- $identifier : string = 'event'
 
Return values
intgetEventValue()
Get a value from an event used in setup.
    protected
                    getEventValue(string $value, string $identifier) : mixed|null
    Parameters
- $value : string
 - $identifier : string
 
Return values
mixed|nullgetExampleData()
Get example data.
    protected
                    getExampleData(string $entity, string $name) : array<string|int, mixed>
    Parameters
- $entity : string
 - $name : string
 
Tags
Return values
array<string|int, mixed>getMembershipLineItem()
    protected
                    getMembershipLineItem() : array<string|int, array<string|int, mixed>>
    Tags
Return values
array<string|int, array<string|int, mixed>>getParticipantOrderParams()
Get parameters to set up a multi-line participant order.
    protected
                    getParticipantOrderParams() : array<string|int, mixed>
    Return values
array<string|int, mixed>getPriceFieldOptions()
Get the options for the price set.
    protected
                    getPriceFieldOptions([string $identifier = 'PaidEvent' ]) : array<string|int, array<string|int, mixed>>
    Parameters
- $identifier : string = 'PaidEvent'
 - 
                    
Optional string if we want to specify different options. This is not currently used but is consistent with our other functions and would allow over-riding.
 
Return values
array<string|int, array<string|int, mixed>>getRenderedFormContents()
Get the rendered contents from a form.
    protected
                    getRenderedFormContents(string $formName) : false|string
    Parameters
- $formName : string
 
Return values
false|stringgetTablesWithData()
Get an array of tables with rows - useful for diagnosing cleanup issues.
    protected
                    getTablesWithData() : array<string|int, mixed>
    Tags
Return values
array<string|int, mixed>loadXMLDataSet()
Load the data that used to be handled by the discontinued dbunit class.
    protected
                    loadXMLDataSet(string $fileName) : mixed
    This could do with further tidy up - the initial priority is simply to get rid of the dbunity package which is no longer supported.
Parameters
- $fileName : string
 
organizeOptionValues()
This undoes the `disorganizeOptionValues` function.
    protected
                    organizeOptionValues() : void
    Tags
prepareForACLs()
Prepare class for ACLs.
    protected
                    prepareForACLs() : void
    renameLabels()
Rename various labels to not match the names.
    protected
                    renameLabels() : mixed
    Doing these mimics the fact the name != the label in international installs & triggers failures in code that expects it to.
resetHooks()
Reset any registered hooks.
    protected
                    resetHooks() : void
    resetLabels()
Undo any label renaming.
    protected
                    resetLabels() : mixed
    revertSetting()
    protected
                    revertSetting(string $setting) : void
    Parameters
- $setting : string
 
revertTemplateToReservedTemplate()
Reinstate the default template.
    protected
                    revertTemplateToReservedTemplate() : void
    Tags
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
Return values
array<string|int, mixed>runTest()
Override to run the test and assert its state.
    protected
                    runTest() : mixed
    Tags
setCurrencySeparators()
Set the separators for thousands and decimal points.
    protected
                    setCurrencySeparators(string $thousandSeparator) : void
    Note that this only covers some common scenarios.
Most notably it tests our legacy way of setting currency separators.
It is now preferred to use the locale instead. This test disables partial_locales in order to test our legacy method.
Parameters
- $thousandSeparator : string
 
setDefaultCurrency()
Sets the default currency.
    protected
                    setDefaultCurrency(string $currency) : void
    Parameters
- $currency : string
 
setMonetaryDecimalPoint()
Sets the decimal separator.
    protected
                    setMonetaryDecimalPoint(string $decimalPoint) : void
    If you use this function also set the thousand separator setMonetaryDecimalPoint
Parameters
- $decimalPoint : string
 
setMonetaryThousandSeparator()
Sets the thousand separator.
    protected
                    setMonetaryThousandSeparator(mixed $thousandSeparator) : void
    If you use this function also set the decimal separator: setMonetaryDecimalSeparator
Parameters
- $thousandSeparator : mixed
 
setPermissions()
Set the permissions to the supplied array.
    protected
                    setPermissions(array<string|int, mixed> $permissions) : void
    Parameters
- $permissions : array<string|int, mixed>
 
startCapturingOutput()
Start capturing browser output.
    protected
                    startCapturingOutput() : mixed
    The starts the process of browser output being captured, setting any variables needed for e-notice prevention.
swapMessageTemplateForInput()
Replace the template with a test-oriented template designed to show all the variables.
    protected
                    swapMessageTemplateForInput(string $templateName, string $input[, string $type = 'html' ]) : void
    Parameters
- $templateName : string
 - $input : string
 - $type : string = 'html'
 
Tags
swapMessageTemplateForTestTemplate()
Replace the template with a test-oriented template designed to show all the variables.
    protected
                    swapMessageTemplateForTestTemplate([string $templateName = 'contribution_online_receipt' ][, string $type = 'html' ]) : void
    Parameters
- $templateName : string = 'contribution_online_receipt'
 - $type : string = 'html'
 
Tags
updateEvent()
Update an event.
    protected
                    updateEvent([array<string|int, mixed> $eventParameters = [] ][, string $identifier = 'event' ]) : void
    Parameters
- $eventParameters : array<string|int, mixed> = []
 - 
                    
Values to
 - $identifier : string = 'event'
 - 
                    
Index for storing event ID in ids array.
 
useFrozenTime()
Temporarily freeze time, as perceived through `CRM_Utils_Time`.
    protected
                    useFrozenTime() : void
    validateAllContributions()
Validate all created contributions.
    protected
                    validateAllContributions() : void
    Tags
validateAllPayments()
Validate all created payments.
    protected
                    validateAllPayments() : void
    Tags
validatePayments()
    protected
                    validatePayments(mixed $payments) : void
    Parameters
- $payments : mixed
 
Tags
_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
addProfilesToEvent()
Add profiles to the event.
    private
                    addProfilesToEvent([string $identifier = 'event' ]) : void
    This function is designed to reflect the normal use case where events do have profiles.
Note if any classes do not want profiles, or want something different, the thinking is they should override this. Once that arises we can review making it protected rather than private & checking we are happy with the signature.
Parameters
- $identifier : string = 'event'
 
Tags
createEventProfile()
Create a profile attached to an event.
    private
                    createEventProfile(array<string|int, mixed> $profile, string $identifier[, bool $isAdditional = FALSE ]) : void
    Parameters
- $profile : array<string|int, mixed>
 - $identifier : string
 - $isAdditional : bool = FALSE
 
Tags
eventCreatePriceSet()
Create a price set for an event.
    private
                    eventCreatePriceSet(array<string|int, mixed> $priceSetParameters, string $identifier) : void
    Parameters
- $priceSetParameters : array<string|int, mixed>
 - $identifier : string
 
unsetID()
Unset the key 'id' from the array
    private
                    unsetID(array<string|int, mixed> &$unformattedArray) : void
    Parameters
- $unformattedArray : array<string|int, mixed>
 - 
                    
The array from which the 'id' has to be unset.