Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jongpie/smarttestdatafactory

A lightweight library for dynamically generating Sobject records & setting any required fields, based on the field's metadata
https://github.com/jongpie/smarttestdatafactory

apex apex-test apex-test-data-factory

Last synced: 19 days ago
JSON representation

A lightweight library for dynamically generating Sobject records & setting any required fields, based on the field's metadata

Awesome Lists containing this project

README

        

# Smart Test Data Factory


An Apex library for dynamically setting any required fields on an Sobject record, based on the field's metadata





Deploy to Salesforce

## Overview
This library simplifies the process of creating of test records in Salesforce. It can be leveraged in Apex unit tests to automatically set field values for any required field. This is useful when you need to insert records but the exact field values are not relevant to your tests.

> **Note**: Lookup & master-detail fields are **not** set by this library - you must set these fields yourself before you insert your record.

## Usage
1. **Create your Sobject** You can provide an empty record (`new Account()`), or you can set your own values for any field values that are important to your tests (`new Account(Type='Prospect')`).
2. **Create a new instance of TestDataFactory by passing your record in the constructor** When you're ready, call populateRequiredFields() to set values for any null required fields.

```
Account testAccount = new Account();
new TestDataFactory(testAccount).populateRequiredFields();
System.assertNotEquals(null, testAccount.Name);
insert testAccount;
```