The framework was created with a double objective:
- Allow developers to easily create SObject records for any Test Method.
- Allow administrators to populate any Developer/Sandbox/Scratch Org with SObject records for testing or demonstration purposes.
The following list describes its main capabilities:
- Creates records for standard or custom objects, for any standard or custom field.
- Automatically defines the required fields.
- Creates static or random data for fields of any data type: Integer, Currency, Double, Date, Datetime, Time, Boolean, String, TextArea, Percent, Reference, Email, Phone, URL, Base64 (BLOB), Picklist and MultiPicklist.
- Creates real random first and last names.
- Creates real random addresses with street, zip code, city, region/state and country.
- Creates serial data for date, datetime, integer, decimal, currency and percent.
- Can copy data from another field of the same record or a lookup record.
- Can create the same random data, using a pseudo-random number generator.
- Handles record types and field dependencies (dependent picklists).
- Supports record groups for inserting and deleting records.
- Validates the definitions based on the field data type.
- Provides many methods to get/insert the created records, add/delete field definitions, get the errors, configure the amount of information returned during run-time (debug log) and more.
- Has an extended error messaging system.
You can find many details of the capabilities offered by the framework in the User Guide
- How to create an Apex data factory library using Forceea Templates
- Populate your Salesforce org with data using Forceea and Salesforce CLI: a step-by-step guide
- Forceea data factory framework: a new approach to an old problem