api_v3_ReportTemplateTest
extends CiviUnitTestCase
in package
uses
ACLPermissionTrait, CRMTraits_PCP_PCPTestTrait, CRMTraits_Custom_CustomDataTrait
Test APIv3 civicrm_report_instance_* functions
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.
- $_params : array<string|int, mixed>
- $_tablesToTruncate : array<string|int, mixed>
- Track tables we have modified during a test.
- $aclGroupID : mixed
- $activityID : int
- $allowedContactId : int
- ContactID of allowed Contact
- $allowedContacts : array<string|int, mixed>
- Array of allowed contactIds
- $contactIDs : mixed
- $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>
- $scenarioIDs : array<string|int, mixed>
- Ids created for the scenario in use.
- $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
- aclGroupContactsOnly() : void
- Implements hook to limit to contacts only in the aclGroup
- aclGroupOnly() : void
- Implement hook to restrict to test group 1.
- aclWhereGreaterThan() : void
- Results after the allowedContact are returned.
- aclWhereHookAllResults() : void
- All results returned.
- aclWhereHookNoResults() : void
- No results returned.
- aclWhereMultipleContacts() : mixed
- Only specified contact returned.
- aclWhereOnlyOne() : void
- Only specified contact returned.
- aclWhereOnlySecond() : void
- All but first results returned.
- activityCreate() : array<string|int, mixed>
- Create Activity.
- addDiscountPriceSet() : void
- Add a discount price set to the given event.
- alterLogTablesRemoveCustom() : void
- Remove one log table from the logging spec.
- alterReportVarHook() : void
- Implements hook_civicrm_alterReportVar().
- 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.
- createContactsWithActivities() : void
- Set up some activity data..... use some chars that challenge our utf handling.
- createCustomFieldsOfAllTypes() : array<string|int, mixed>
- createCustomGroup() : int
- Create a custom group.
- createCustomGroupWithFieldOfType() : void
- Create a custom group with a single field.
- createCustomGroupWithFieldsOfAllTypes() : void
- Create a custom group with fields of multiple types.
- 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.
- 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.
- getContactMembershipAndContributionReportTemplatesForACLGroupTests() : array<string|int, mixed>
- getContributionReportTemplates() : array<string|int, mixed>
- Get contribution templates that work with basic filter tests.
- getCustomGroupTable() : string
- Get the table_name for the specified custom group.
- getFieldsValuesByType() : array<string|int, mixed>
- Get default field values for the type of field.
- 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.
- getMembershipAndContributionReportTemplatesForGroupTests() : array<string|int, mixed>
- Get the membership and contribution reports to test.
- getMembershipReportTemplates() : array<string|int, mixed>
- Get contribution templates that work with basic filter tests.
- getReportTemplates() : array<string|int, mixed>
- Data provider function for getting all templates.
- getReportTemplatesSupportingSelectWhere() : array<string|int, mixed>
- Get templates suitable for SelectWhere test.
- 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.
- hookSelectWhere() : void
- 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
- pcpBlockParams() : array<string|int, mixed>
- Build and return pcpBlock params.
- pcpParams() : array<string|int, mixed>
- Build and return pcp params.
- 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.
- setupACL() : void
- Set up an acl allowing contact to see 2 specified groups - $this->_permissionedGroup & $this->_permissionedDisabledGroup
- setUpBeforeClass() : void
- setupCoreACLPermittedAcl() : void
- Set up a core ACL.
- setupForSmsTests() : mixed
- Setup or clean up SMS tests
- setUpIntersectingGroups() : array<string|int, mixed>
- 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
- setUpPopulatedGroup() : int
- Set up a static group for testing.
- setUpPopulatedSmartGroup() : int
- Set up a smart group for testing.
- setupRecurringPaymentProcessorTransaction() : void
- Set up initial recurring payment allowing subsequent IPN payments.
- setupScenarioCoreACLEveryonePermittedToEvent() : void
- Set up a scenario where everyone can access the permissioned group.
- setupScenarioCoreACLEveryonePermittedToGroup() : void
- Set up a scenario where everyone can access the permissioned group.
- smartGroupCreate() : int
- Create a smart group.
- tagCreate() : array<string|int, mixed>
- Create Tag.
- tagDelete() : int
- Delete Tag.
- tearDown() : void
- Our group reports use an alter so transaction cleanup won't work.
- testActivityDetails() : void
- Test activity details report - requiring all current fields to be output.
- testActivityDetailsContactFilter() : void
- Test the source contact filter works.
- testActivityDetailsNullFilters() : void
- Activity Details report has some whack-a-mole to fix when filtering on null/not null.
- testActivitySummaryGroupByFrequency() : void
- Test we don't get a fatal grouping with various frequencies.
- testCaseDetailsCaseTypeHeader() : void
- Test no fatal on order by per https://lab.civicrm.org/dev/core/issues/739
- testContactSubtypeIn() : void
- Test contact subtype filter on summary report.
- testContactSubtypeNotIn() : void
- Test contact subtype filter on summary report.
- testContactSubtypeNotNull() : void
- Test contact subtype filter on summary report.
- testContactSubtypeNull() : void
- Test contact subtype filter on summary report.
- testContributionAggregateByRelationship() : void
- Test that the contribution aggregate by relationship report filters by financial type.
- testContributionDetailSoftCredits() : void
- Test the group filter works on the contribution summary.
- testContributionDetailSoftCreditsOnly() : void
- Test the amount column is populated on soft credit details.
- testContributionDetailTotalHeader() : void
- Test the group filter works on the contribution summary.
- testContributionSummaryDateFields() : void
- Test date field is correctly handled.
- testContributionSummaryGroupByContributionStatus() : void
- Test we don't get a fatal grouping by only contribution status id.
- testContributionSummaryGroupByDateFrequency() : void
- Test we don't get a fatal grouping with QUARTER frequency.
- testContributionSummaryGroupByWeekFrequency() : void
- Test we don't get a fatal grouping with QUARTER frequency.
- testContributionSummaryGroupByYearFrequency() : void
- Test we don't get a fatal grouping by only contribution status id.
- testContributionSummaryGroupByYearQuarterFrequency() : void
- Test we don't get a fatal grouping with QUARTER frequency.
- testContributionSummaryWithNotINSmartGroupFilter() : void
- Test the group filter works on the contribution summary.
- testContributionSummaryWithSingleContactsInTwoGroups() : void
- CRM-20640: Test the group filter works on the contribution summary when a single contact in 2 groups.
- testContributionSummaryWithSmartGroupFilter() : void
- Test the group filter works on the contribution summary (with a smart group).
- testContributionSummaryWithTwoGroups() : void
- Test the group filter works on the contribution summary when 2 groups are involved.
- testContributionSummaryWithTwoGroupsWithIntersection() : void
- Test the group filter works on the contribution summary when 2 groups are involved.
- testDeferredRevenueReport() : void
- Test Deferred Revenue Report.
- testGetAddressColumns() : void
- Test a report that uses getAddressColumns();
- testLoggingDetail() : void
- Convoluted test of the convoluted logging detail report.
- testLoggingReportWithHookRemovalOfCustomDataTable() : void
- Test logging report when a custom data table has a table removed by hook.
- testLybuntReportWithData() : void
- Test Lybunt report to check basic inclusion of a contact who gave in the year before the chosen year.
- testLybuntReportWithDataAndACLFilter() : void
- Test Lybunt report applies ACLs.
- testLybuntReportWithFYData() : void
- Test Lybunt report to check basic inclusion of a contact who gave in the year before the chosen year.
- testLybuntReportWithFYDataOrderByLastYearAmount() : void
- Test Lybunt report to check basic inclusion of a contact who gave in the year before the chosen year.
- testPcpReportTotals() : void
- Test PCP report to ensure total donors and total committed is accurate.
- testRepeatContributions() : void
- Basic test of the repeat contributions report.
- testReportsCustomDataOrderBy() : void
- Test the custom data order by works when not in select.
- testReportsWithNonSmartGroupFilter() : void
- Test the group filter works on the various reports.
- testReportsWithNonSmartGroupFilterWithACL() : void
- Test the group filter works on various reports when ACLed user is in play
- testReportsWithNoTInSmartGroupFilter() : void
- Test the group filter works on the various reports.
- testReportTemplate() : void
- Test CRUD actions on a report template.
- testReportTemplateGetRowsAllReports() : void
- Test api to get rows from reports.
- testReportTemplateGetRowsAllReportsACL() : void
- Test api to get rows from reports with ACLs enabled.
- testReportTemplateGetRowsContactSummary() : void
- Test getrows on contact summary report.
- testReportTemplateGetRowsMailingUniqueOpened() : void
- Test getrows on Mailing Opened report.
- testReportTemplateGetStatisticsAllReports() : void
- Test get statistics.
- testReportTemplateSelectWhere() : void
- Test api to get rows from reports.
- 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.
- addOptionToCustomField() : int
- Add another option to the custom field.
- 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.
- assertNumberOfContactsInResult() : void
- Assert the included results match the expected.
- 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.
- cleanupCachedPermissions() : void
- Clean up places where permissions get cached.
- cleanupCustomGroups() : void
- Delete any existing custom data groups.
- cleanUpSetUpIDs() : mixed
- Cleanup function for contents of $this->ids.
- createAutoCompleteCustomField() : array<string|int, mixed>
- Create custom select field.
- createBooleanCustomField() : array<string|int, mixed>
- Create a custom text fields.
- createContactReferenceCustomField() : array<string|int, mixed>
- Create a custom text fields.
- createCountryCustomField() : array<string|int, mixed>
- Create a custom country fields.
- createDateCustomField() : array<string|int, mixed>
- Create a custom field of type date.
- createFileCustomField() : array<string|int, mixed>
- Create a custom text fields.
- createFinancialType() : array<string|int, mixed>
- Create Financial Type.
- createIntCustomField() : array<string|int, mixed>
- Create a custom text fields.
- createIntegerRadioCustomField() : array<string|int, mixed>
- Create a custom field of type radio with integer values.
- createLinkCustomField() : array<string|int, mixed>
- Create a custom text fields.
- createMoneyTextCustomField() : array<string|int, mixed>
- Create a custom field of type money.
- createMultiCountryCustomField() : array<string|int, mixed>
- Create a custom multi select country fields.
- createMultiStateCustomField() : array<string|int, mixed>
- Create a custom multi select state fields.
- createPartiallyPaidParticipantOrder() : array<string|int, mixed>
- Add participant with contribution
- createPCPBlock() : int
- Create a pcp block for testing.
- createPriceSet() : array<string|int, mixed>
- Create price set that includes one price field with two option values.
- createRuleGroup() : array<string|int, mixed>|int
- createSelectCustomField() : array<string|int, mixed>
- Create custom select field.
- createStateCustomField() : array<string|int, mixed>
- Create a custom state fields.
- createStringCheckboxCustomField() : array<string|int, mixed>
- Create a custom field of type radio with integer values.
- createTextCustomField() : array<string|int, mixed>
- Create a custom text fields.
- 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.
- getAvailableFieldCombinations() : array<string|int, mixed>
- Get data available for custom fields.
- getContributionObject() : CRM_Contribute_BAO_Contribution
- Get the contribution object.
- getCustomFieldColumnName() : string
- Get the the column name for the identified custom field.
- getCustomFieldID() : string
- Get the custom field name for the relevant key.
- getCustomFieldName() : string
- Get the custom field name for the relevant key.
- getDefaultSystemLocale() : string
- Get the default system locale.
- getDeprecatedProperty() : mixed
- Retrieve a deprecated property, ensuring a deprecation notice is thrown.
- getEntity() : string
- Get the entity being acted on.
- 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.
- getOptionGroupID() : string
- Get the option group id of the created field.
- getOptionGroupName() : string
- Get the option group id of the created field.
- 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.
- setUp() : void
- Common setup functions for all unit tests.
- 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.
- doQuestionableStuffInASeparateFunctionSoNobodyNotices() : void
- The issue is that in a unit test the log_conn_id is going to be the same throughout the entire test, which is not how it works normally when you have separate page requests. So use the fact that the conn_id format is controlled by a hidden variable, so we can force different conn_id's during initialization and after.
- 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
$_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
= []
$aclGroupID
protected
mixed
$aclGroupID
$activityID
protected
int
$activityID
$allowedContactId
ContactID of allowed Contact
protected
int
$allowedContactId
= 0
$allowedContacts
Array of allowed contactIds
protected
array<string|int, mixed>
$allowedContacts
= []
$contactIDs
protected
mixed
$contactIDs
= []
$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
= []
$scenarioIDs
Ids created for the scenario in use.
protected
array<string|int, mixed>
$scenarioIDs
= []
$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
aclGroupContactsOnly()
Implements hook to limit to contacts only in the aclGroup
public
aclGroupContactsOnly(string $type, array<string|int, mixed> &$tables, array<string|int, mixed> &$whereTables, int|null &$contactID, string|null &$where) : void
Parameters
- $type : string
- $tables : array<string|int, mixed>
- $whereTables : array<string|int, mixed>
- $contactID : int|null
- $where : string|null
Tags
aclGroupOnly()
Implement hook to restrict to test group 1.
public
aclGroupOnly(string $type, int $contactID, string $tableName, array<string|int, mixed> $allGroups, array<string|int, mixed> &$ids) : void
Parameters
- $type : string
- $contactID : int
- $tableName : string
- $allGroups : array<string|int, mixed>
- $ids : array<string|int, mixed>
Tags
aclWhereGreaterThan()
Results after the allowedContact are returned.
public
aclWhereGreaterThan(string $type, array<string|int, mixed> &$tables, array<string|int, mixed> &$whereTables, int &$contactID, string|null &$where) : void
Parameters
- $type : string
- $tables : array<string|int, mixed>
- $whereTables : array<string|int, mixed>
- $contactID : int
- $where : string|null
Tags
aclWhereHookAllResults()
All results returned.
public
aclWhereHookAllResults(string $type, array<string|int, mixed> &$tables, array<string|int, mixed> &$whereTables, int &$contactID, string|null &$where) : void
Parameters
- $type : string
- $tables : array<string|int, mixed>
- $whereTables : array<string|int, mixed>
- $contactID : int
- $where : string|null
Tags
aclWhereHookNoResults()
No results returned.
public
aclWhereHookNoResults(string $type, array<string|int, mixed> &$tables, array<string|int, mixed> &$whereTables, int &$contactID, string|null &$where) : void
Parameters
- $type : string
- $tables : array<string|int, mixed>
- $whereTables : array<string|int, mixed>
- $contactID : int
- $where : string|null
Tags
aclWhereMultipleContacts()
Only specified contact returned.
public
aclWhereMultipleContacts(mixed $type, mixed &$tables, mixed &$whereTables, mixed &$contactID, mixed &$where) : mixed
Parameters
- $type : mixed
- $tables : mixed
- $whereTables : mixed
- $contactID : mixed
- $where : mixed
Tags
aclWhereOnlyOne()
Only specified contact returned.
public
aclWhereOnlyOne(string $type, array<string|int, mixed> &$tables, array<string|int, mixed> &$whereTables, int &$contactID, string|null &$where) : void
Parameters
- $type : string
- $tables : array<string|int, mixed>
- $whereTables : array<string|int, mixed>
- $contactID : int
- $where : string|null
Tags
aclWhereOnlySecond()
All but first results returned.
public
aclWhereOnlySecond(string $type, array<string|int, mixed> &$tables, array<string|int, mixed> &$whereTables, int &$contactID, string|null &$where) : void
Parameters
- $type : string
- $tables : array<string|int, mixed>
- $whereTables : array<string|int, mixed>
- $contactID : int
- $where : string|null
Tags
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
alterLogTablesRemoveCustom()
Remove one log table from the logging spec.
public
alterLogTablesRemoveCustom(array<string|int, mixed> &$logTableSpec) : void
Parameters
- $logTableSpec : array<string|int, mixed>
alterReportVarHook()
Implements hook_civicrm_alterReportVar().
public
alterReportVarHook(mixed $varType, mixed &$var, mixed &$object) : void
Parameters
- $varType : mixed
- $var : mixed
- $object : mixed
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_CasecreateContactsWithActivities()
Set up some activity data..... use some chars that challenge our utf handling.
public
createContactsWithActivities() : void
createCustomFieldsOfAllTypes()
public
createCustomFieldsOfAllTypes() : array<string|int, mixed>
Return values
array<string|int, mixed>createCustomGroup()
Create a custom group.
public
createCustomGroup([array<string|int, mixed> $params = [] ]) : int
Parameters
- $params : array<string|int, mixed> = []
Return values
intcreateCustomGroupWithFieldOfType()
Create a custom group with a single field.
public
createCustomGroupWithFieldOfType([array<string|int, mixed> $groupParams = [] ][, string $customFieldType = 'text' ][, string|null $identifier = NULL ][, array<string|int, mixed> $fieldParams = [] ]) : void
Parameters
- $groupParams : array<string|int, mixed> = []
-
Params for the group to be created.
- $customFieldType : string = 'text'
- $identifier : string|null = NULL
- $fieldParams : array<string|int, mixed> = []
createCustomGroupWithFieldsOfAllTypes()
Create a custom group with fields of multiple types.
public
createCustomGroupWithFieldsOfAllTypes([array<string|int, mixed> $groupParams = [] ]) : void
Parameters
- $groupParams : array<string|int, mixed> = []
createDomainContacts()
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.
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>getContactMembershipAndContributionReportTemplatesForACLGroupTests()
public
static getContactMembershipAndContributionReportTemplatesForACLGroupTests() : array<string|int, mixed>
Return values
array<string|int, mixed>getContributionReportTemplates()
Get contribution templates that work with basic filter tests.
public
static getContributionReportTemplates() : array<string|int, mixed>
These templates require minimal data config.
Return values
array<string|int, mixed>getCustomGroupTable()
Get the table_name for the specified custom group.
public
getCustomGroupTable([string $identifier = 'Custom Group' ]) : string
Parameters
- $identifier : string = 'Custom Group'
Return values
stringgetFieldsValuesByType()
Get default field values for the type of field.
public
getFieldsValuesByType(string $dataType[, string $htmlType = 'default' ]) : array<string|int, mixed>
Parameters
- $dataType : string
- $htmlType : string = 'default'
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|nullgetMembershipAndContributionReportTemplatesForGroupTests()
Get the membership and contribution reports to test.
public
static getMembershipAndContributionReportTemplatesForGroupTests() : array<string|int, mixed>
Return values
array<string|int, mixed>getMembershipReportTemplates()
Get contribution templates that work with basic filter tests.
public
static getMembershipReportTemplates() : array<string|int, mixed>
These templates require minimal data config.
Return values
array<string|int, mixed>getReportTemplates()
Data provider function for getting all templates.
public
static getReportTemplates() : array<string|int, mixed>
Note that the function needs to be static so cannot use $this->callAPISuccess
Tags
Return values
array<string|int, mixed>getReportTemplatesSupportingSelectWhere()
Get templates suitable for SelectWhere test.
public
getReportTemplatesSupportingSelectWhere() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>getSearchFormObject()
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
hookSelectWhere()
public
hookSelectWhere(string $entity, array<string|int, mixed> &$clauses) : void
Parameters
- $entity : string
- $clauses : array<string|int, mixed>
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
intpcpBlockParams()
Build and return pcpBlock params.
public
pcpBlockParams() : array<string|int, mixed>
Create the necessary initial objects for a pcpBlock, then return the params needed to create the pcpBlock.
Tags
Return values
array<string|int, mixed>pcpParams()
Build and return pcp params.
public
pcpParams() : array<string|int, mixed>
Create the necessary initial objects for a pcp page, then return the params needed to create the pcp page.
Tags
Return values
array<string|int, mixed>pledgeCreate()
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
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
setupCoreACLPermittedAcl()
Set up a core ACL.
public
setupCoreACLPermittedAcl([array<string|int, mixed> $permissionedEntities = [] ][, string|int $groupAllowedAccess = 'Everyone' ][, string $operation = 'View' ][, string $entity = 'Group' ]) : void
It is recommended that this helper function is accessed through a scenario function.
Parameters
- $permissionedEntities : array<string|int, mixed> = []
-
Array of groups for whom ACLs enable access.
- $groupAllowedAccess : string|int = 'Everyone'
-
Group permitted to access the permissioned Group An ID of 0 means that 'Everyone' can access the group.
- $operation : string = 'View'
-
View|Edit|Create|Delete|Search|All
- $entity : string = 'Group'
-
Group|CustomGroup|Profile|Event
setupForSmsTests()
Setup or clean up SMS tests
public
setupForSmsTests([bool $teardown = FALSE ]) : mixed
Parameters
- $teardown : bool = FALSE
Tags
setUpIntersectingGroups()
public
setUpIntersectingGroups() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>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
setUpPopulatedGroup()
Set up a static group for testing.
public
setUpPopulatedGroup() : int
An individual is created and hard-added and an individual is created that is not added.
This gives us a range of scenarios for testing contacts are included only once whenever they are hard-added or in the criteria.
Return values
intsetUpPopulatedSmartGroup()
Set up a smart group for testing.
public
setUpPopulatedSmartGroup() : int
The smart group includes all Households by filter. In addition an individual is created and hard-added and an individual is created that is not added.
One household is hard-added as well as being in the filter.
This gives us a range of scenarios for testing contacts are included only once whenever they are hard-added or in the criteria.
Tags
Return values
intsetupRecurringPaymentProcessorTransaction()
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'
setupScenarioCoreACLEveryonePermittedToEvent()
Set up a scenario where everyone can access the permissioned group.
public
setupScenarioCoreACLEveryonePermittedToEvent() : void
A scenario in this class involves multiple defined assets. In this case we create
- a group to which the everyone has permission
- a contact in the group
- a contact not in the group
These are arrayed as follows $this->scenarioIDs['Contact'] = ['permitted_contact' => x, 'non_permitted_contact' => y] $this->scenarioIDs['Group'] = ['permitted_group' => x]
setupScenarioCoreACLEveryonePermittedToGroup()
Set up a scenario where everyone can access the permissioned group.
public
setupScenarioCoreACLEveryonePermittedToGroup() : void
A scenario in this class involves multiple defined assets. In this case we create
- a group to which the everyone has permission
- a contact in the group
- a contact not in the group
These are arrayed as follows $this->scenarioIDs['Contact'] = ['permitted_contact' => x, 'non_permitted_contact' => y] $this->scenarioIDs['Group'] = ['permitted_group' => x]
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()
Our group reports use an alter so transaction cleanup won't work.
public
tearDown() : void
testActivityDetails()
Test activity details report - requiring all current fields to be output.
public
testActivityDetails() : void
testActivityDetailsContactFilter()
Test the source contact filter works.
public
testActivityDetailsContactFilter() : void
Tags
testActivityDetailsNullFilters()
Activity Details report has some whack-a-mole to fix when filtering on null/not null.
public
testActivityDetailsNullFilters() : void
testActivitySummaryGroupByFrequency()
Test we don't get a fatal grouping with various frequencies.
public
testActivitySummaryGroupByFrequency() : void
testCaseDetailsCaseTypeHeader()
Test no fatal on order by per https://lab.civicrm.org/dev/core/issues/739
public
testCaseDetailsCaseTypeHeader() : void
Tags
testContactSubtypeIn()
Test contact subtype filter on summary report.
public
testContactSubtypeIn() : void
testContactSubtypeNotIn()
Test contact subtype filter on summary report.
public
testContactSubtypeNotIn() : void
testContactSubtypeNotNull()
Test contact subtype filter on summary report.
public
testContactSubtypeNotNull() : void
testContactSubtypeNull()
Test contact subtype filter on summary report.
public
testContactSubtypeNull() : void
testContributionAggregateByRelationship()
Test that the contribution aggregate by relationship report filters by financial type.
public
testContributionAggregateByRelationship() : void
testContributionDetailSoftCredits()
Test the group filter works on the contribution summary.
public
testContributionDetailSoftCredits() : void
Tags
testContributionDetailSoftCreditsOnly()
Test the amount column is populated on soft credit details.
public
testContributionDetailSoftCreditsOnly() : void
Tags
testContributionDetailTotalHeader()
Test the group filter works on the contribution summary.
public
testContributionDetailTotalHeader() : void
testContributionSummaryDateFields()
Test date field is correctly handled.
public
testContributionSummaryDateFields() : void
Tags
testContributionSummaryGroupByContributionStatus()
Test we don't get a fatal grouping by only contribution status id.
public
testContributionSummaryGroupByContributionStatus() : void
Tags
testContributionSummaryGroupByDateFrequency()
Test we don't get a fatal grouping with QUARTER frequency.
public
testContributionSummaryGroupByDateFrequency() : void
testContributionSummaryGroupByWeekFrequency()
Test we don't get a fatal grouping with QUARTER frequency.
public
testContributionSummaryGroupByWeekFrequency() : void
testContributionSummaryGroupByYearFrequency()
Test we don't get a fatal grouping by only contribution status id.
public
testContributionSummaryGroupByYearFrequency() : void
Tags
testContributionSummaryGroupByYearQuarterFrequency()
Test we don't get a fatal grouping with QUARTER frequency.
public
testContributionSummaryGroupByYearQuarterFrequency() : void
testContributionSummaryWithNotINSmartGroupFilter()
Test the group filter works on the contribution summary.
public
testContributionSummaryWithNotINSmartGroupFilter(string $template) : void
Parameters
- $template : string
Tags
testContributionSummaryWithSingleContactsInTwoGroups()
CRM-20640: Test the group filter works on the contribution summary when a single contact in 2 groups.
public
testContributionSummaryWithSingleContactsInTwoGroups() : void
testContributionSummaryWithSmartGroupFilter()
Test the group filter works on the contribution summary (with a smart group).
public
testContributionSummaryWithSmartGroupFilter(string $template) : void
Parameters
- $template : string
-
Name of the template to test.
Tags
testContributionSummaryWithTwoGroups()
Test the group filter works on the contribution summary when 2 groups are involved.
public
testContributionSummaryWithTwoGroups() : void
Tags
testContributionSummaryWithTwoGroupsWithIntersection()
Test the group filter works on the contribution summary when 2 groups are involved.
public
testContributionSummaryWithTwoGroupsWithIntersection() : void
Tags
testDeferredRevenueReport()
Test Deferred Revenue Report.
public
testDeferredRevenueReport() : void
testGetAddressColumns()
Test a report that uses getAddressColumns();
public
testGetAddressColumns() : void
testLoggingDetail()
Convoluted test of the convoluted logging detail report.
public
testLoggingDetail() : void
In principle it's just make an update and get the report and see if it matches the update. In practice, besides some setup and trigger-wrangling, the report isn't useful for activities, so we're checking activity_contact records, and because of how an activity update works that's actually a delete+insert.
Tags
testLoggingReportWithHookRemovalOfCustomDataTable()
Test logging report when a custom data table has a table removed by hook.
public
testLoggingReportWithHookRemovalOfCustomDataTable() : void
Here we are checking that no fatal is triggered.
testLybuntReportWithData()
Test Lybunt report to check basic inclusion of a contact who gave in the year before the chosen year.
public
testLybuntReportWithData() : void
testLybuntReportWithDataAndACLFilter()
Test Lybunt report applies ACLs.
public
testLybuntReportWithDataAndACLFilter() : void
testLybuntReportWithFYData()
Test Lybunt report to check basic inclusion of a contact who gave in the year before the chosen year.
public
testLybuntReportWithFYData() : void
testLybuntReportWithFYDataOrderByLastYearAmount()
Test Lybunt report to check basic inclusion of a contact who gave in the year before the chosen year.
public
testLybuntReportWithFYDataOrderByLastYearAmount() : void
testPcpReportTotals()
Test PCP report to ensure total donors and total committed is accurate.
public
testPcpReportTotals() : void
Tags
testRepeatContributions()
Basic test of the repeat contributions report.
public
testRepeatContributions() : void
testReportsCustomDataOrderBy()
Test the custom data order by works when not in select.
public
testReportsCustomDataOrderBy(string $template) : void
Parameters
- $template : string
-
Report template unique identifier.
Tags
testReportsWithNonSmartGroupFilter()
Test the group filter works on the various reports.
public
testReportsWithNonSmartGroupFilter(string $template) : void
Parameters
- $template : string
-
Report template unique identifier.
Tags
testReportsWithNonSmartGroupFilterWithACL()
Test the group filter works on various reports when ACLed user is in play
public
testReportsWithNonSmartGroupFilterWithACL(string $template) : void
Parameters
- $template : string
-
Report template unique identifier.
Tags
testReportsWithNoTInSmartGroupFilter()
Test the group filter works on the various reports.
public
testReportsWithNoTInSmartGroupFilter(string $template) : void
Parameters
- $template : string
-
Report template unique identifier.
Tags
testReportTemplate()
Test CRUD actions on a report template.
public
testReportTemplate() : void
Tags
testReportTemplateGetRowsAllReports()
Test api to get rows from reports.
public
testReportTemplateGetRowsAllReports(string $reportID) : void
Parameters
- $reportID : string
Tags
testReportTemplateGetRowsAllReportsACL()
Test api to get rows from reports with ACLs enabled.
public
testReportTemplateGetRowsAllReportsACL(mixed $reportID) : void
Checking for lack of fatal error at the moment.
Parameters
- $reportID : mixed
Tags
testReportTemplateGetRowsContactSummary()
Test getrows on contact summary report.
public
testReportTemplateGetRowsContactSummary() : void
testReportTemplateGetRowsMailingUniqueOpened()
Test getrows on Mailing Opened report.
public
testReportTemplateGetRowsMailingUniqueOpened() : void
testReportTemplateGetStatisticsAllReports()
Test get statistics.
public
testReportTemplateGetStatisticsAllReports(string $reportID) : void
Parameters
- $reportID : string
Tags
testReportTemplateSelectWhere()
Test api to get rows from reports.
public
testReportTemplateSelectWhere(string $reportID) : void
Parameters
- $reportID : string
Tags
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
addOptionToCustomField()
Add another option to the custom field.
protected
addOptionToCustomField(string $key, array<string|int, mixed> $values) : int
Parameters
- $key : string
- $values : array<string|int, mixed>
Tags
Return values
intaddProfile()
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
assertNumberOfContactsInResult()
Assert the included results match the expected.
protected
assertNumberOfContactsInResult(int $numberExpected, array<string|int, mixed> $rows, string $template) : void
There may or may not be a group by in play so the assertion varies a little.
Parameters
- $numberExpected : int
- $rows : array<string|int, mixed>
-
Rows returned from the report.
- $template : string
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
cleanupCachedPermissions()
Clean up places where permissions get cached.
protected
cleanupCachedPermissions() : void
Tags
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).
createAutoCompleteCustomField()
Create custom select field.
protected
createAutoCompleteCustomField(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createBooleanCustomField()
Create a custom text fields.
protected
createBooleanCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createContactReferenceCustomField()
Create a custom text fields.
protected
createContactReferenceCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createCountryCustomField()
Create a custom country fields.
protected
createCountryCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createDateCustomField()
Create a custom field of type date.
protected
createDateCustomField(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>createFileCustomField()
Create a custom text fields.
protected
createFileCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>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>createIntCustomField()
Create a custom text fields.
protected
createIntCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createIntegerRadioCustomField()
Create a custom field of type radio with integer values.
protected
createIntegerRadioCustomField(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>createLinkCustomField()
Create a custom text fields.
protected
createLinkCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createMoneyTextCustomField()
Create a custom field of type money.
protected
createMoneyTextCustomField(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>createMultiCountryCustomField()
Create a custom multi select country fields.
protected
createMultiCountryCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createMultiStateCustomField()
Create a custom multi select state fields.
protected
createMultiStateCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createPartiallyPaidParticipantOrder()
Add participant with contribution
protected
createPartiallyPaidParticipantOrder() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>createPCPBlock()
Create a pcp block for testing.
protected
createPCPBlock(array<string|int, mixed> $params) : int
Parameters
- $params : array<string|int, mixed>
Tags
Return values
intcreatePriceSet()
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>|intcreateSelectCustomField()
Create custom select field.
protected
createSelectCustomField(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createStateCustomField()
Create a custom state fields.
protected
createStateCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>createStringCheckboxCustomField()
Create a custom field of type radio with integer values.
protected
createStringCheckboxCustomField(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>createTextCustomField()
Create a custom text fields.
protected
createTextCustomField([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
Parameter overrides, must include custom_group_id.
Return values
array<string|int, mixed>deleteNonDefaultRelationshipTypes()
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
stringgetAvailableFieldCombinations()
Get data available for custom fields.
protected
getAvailableFieldCombinations() : array<string|int, mixed>
The 'default' key holds general values. Where more than one html type is an option then the any values that differ to the defaults are keyed by html key.
The order below is consistent with the UI.
Return values
array<string|int, mixed>getContributionObject()
Get the contribution object.
protected
getContributionObject(int $contributionID) : CRM_Contribute_BAO_Contribution
Parameters
- $contributionID : int
Return values
CRM_Contribute_BAO_ContributiongetCustomFieldColumnName()
Get the the column name for the identified custom field.
protected
getCustomFieldColumnName(string $key) : string
Parameters
- $key : string
-
Identifier - generally keys map to data type - eg. 'text', 'int' etc.
Return values
stringgetCustomFieldID()
Get the custom field name for the relevant key.
protected
getCustomFieldID(string $key) : string
e.g returns 'custom_5' where 5 is the id of the field using the key.
Generally keys map to data types.
Parameters
- $key : string
Return values
stringgetCustomFieldName()
Get the custom field name for the relevant key.
protected
getCustomFieldName([string $key = 'text' ][, int $version = 3 ]) : string
e.g returns 'custom_5' where 5 is the id of the field using the key.
Generally keys map to data types.
Parameters
- $key : string = 'text'
- $version : int = 3
Tags
Return values
stringgetDefaultSystemLocale()
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
getEntity()
Get the entity being acted on.
protected
getEntity() : string
Return values
stringgetEvent()
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>getOptionGroupID()
Get the option group id of the created field.
protected
getOptionGroupID(string $key) : string
Parameters
- $key : string
Return values
stringgetOptionGroupName()
Get the option group id of the created field.
protected
getOptionGroupName(string $key) : string
Parameters
- $key : string
Return values
stringgetParticipantOrderParams()
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>
setUp()
Common setup functions for all unit tests.
protected
setUp() : void
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
doQuestionableStuffInASeparateFunctionSoNobodyNotices()
The issue is that in a unit test the log_conn_id is going to be the same throughout the entire test, which is not how it works normally when you have separate page requests. So use the fact that the conn_id format is controlled by a hidden variable, so we can force different conn_id's during initialization and after.
private
doQuestionableStuffInASeparateFunctionSoNobodyNotices() : void
If we don't do this, then the report thinks EVERY log record is part of the one change detail.
On the plus side, this doesn't affect other tests since if they enable logging then that'll just recreate the variable and triggers.
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.