Newer Version Available
FlowTest
Parent Type
File Suffix and Directory Location
FlowTest components have the suffix .flowtest, and Salesforce stores them in the flowtests folder.
Version
FlowTest components are available in API version 55.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
| Field Name | Description |
|---|---|
| description |
|
| flowApiName |
|
| flowTestDataSources |
|
| flowTestFlowVersions |
|
| isolatedObjectExternalKeys |
|
| label |
|
| testPoints |
|
| testType |
|
FlowTestFlowVersion
Defines the flow version for the flow test. This subtype is available in API version 66.0 and later.
FlowTestDataSource
Defines the data source for a flow test of a record-triggered flow or an autolaunched flow. This subtype is available in API version 66.0 and later.
| Field Name | Description |
|---|---|
| apexClass |
|
| dataSourceType |
|
FlowTestIsolObjExtlKey
Defines an external isolated object and the fields that identify unique records to test for a record-triggered flow or an autolaunched flow. This subtype is available in API version 66.0 and later.
| Field Name | Description |
|---|---|
| keyFields |
|
| objectType |
|
FlowTestExtKeyField
Defines the external key fields that identify the unique records in isolated test data for a record-triggered flow or an autolaunched flow. This subtype is available in API version 66.0 and later.
| Field Name | Description |
|---|---|
| fieldName |
|
FlowTestPoint
Defines a flow test point that Salesforce evaluates when a flow test runs. Salesforce evaluates each test point in the order that it’s listed.
| Field Name | Description |
|---|---|
| assertions |
|
| elementApiName |
|
| isUseMockOuput | Reserved for future use. |
| parameters |
|
FlowTestAssertion
Defines an assertion for a test point that Salesforce evaluates when a flow test runs. If one assertion evaluates to false, the test run fails.
| Field Name | Description |
|---|---|
| conditions |
|
| errorMessage |
|
FlowTestCondition
Defines a condition for an assertion that Salesforce evaluates when a flow test runs. If one condition evaluates to false, the assertion fails.
| Field Name | Description |
|---|---|
| leftValueReference |
|
| operator |
|
| rightValue |
|
FlowTestReferenceOrValue
Defines a specific value that the operator applies to the resource reference in flow test assertions and conditions.
| Field Name | Description |
|---|---|
| booleanValue |
|
| dateTimeValue |
|
| dateValue |
|
| elementReference | Reserved for future use. |
| jsonValue |
|
| numberValue |
|
| sobjectValue |
|
| stringValue |
|
| timeValue |
|
FlowTestParameter
Defines parameters for the triggering record, flow path, and input variable in the Start test point.
| Field Name | Description |
|---|---|
| leftValueReference |
|
| type |
|
| value |
|
Declarative Metadata Sample Definition
The following is an example of a FlowTest component.
1<?xml version="1.0" encoding="UTF-8"?>
2<FlowTest xmlns="http://soap.sforce.com/2006/04/metadata">
3 <flowApiName>Example_Test</flowApiName>
4 <label>Test Two</label>
5 <testPoints>
6 <elementApiName>Start</elementApiName>
7 <parameters>
8 <leftValueReference>$Record</leftValueReference>
9 <type>InputTriggeringRecordInitial</type>
10 <value>
11 <sobjectValue>{"AnnualRevenue":100000,"BillingCity":"New York"}}</sobjectValue>
12 </value>
13 </parameters>
14 <parameters>
15 <leftValueReference>ScheduledPathApiName</leftValueReference>
16 <type>ScheduledPath</type>
17 <value>Every_Monday</value>
18 </parameters>
19 <parameters>
20 <leftValueReference>$Record</leftValueReference>
21 <type>InputTriggeringRecordUpdated</type>
22 <value>
23 <sobjectValue>{"AnnualRevenue":100000,"BillingCity":"New York"}</sobjectValue>
24 </value>
25 </parameters>
26 </testPoints>
27 <testPoints>
28 <assertions>
29 <conditions>
30 <leftValueReference>$Record.Industry</leftValueReference>
31 <operator>EqualTo</operator>
32 <rightValue>
33 <stringValue>Other</stringValue>
34 </rightValue>
35 </conditions>
36 <errorMessage>Industry was not set.</errorMessage>
37 </assertions>
38 <elementApiName>Finish</elementApiName>
39 </testPoints>
40</FlowTest>For isolated test data sample:
1<?xml version="1.0" encoding="UTF-8"?>
2<FlowTest xmlns="http://soap.sforce.com/2006/04/metadata">
3 <flowApiName>Example_Test</flowApiName>
4 <label>Test Two</label>
5 <flowTestDataSources>
6 <apexClass>FlowTestDataFactory</apexClass>
7 <dataSourceType>ApexClass</dataSourceType>
8 </flowTestDataSources>
9 <flowTestFlowVersions>
10 <flowVersionNumber>1</flowVersionNumber>
11 </flowTestFlowVersions>
12 <isolatedObjectExternalKeys>
13 <keyFields>
14 <fieldName>Phone</fieldName>
15 </keyFields>
16 <objectType>Account</objectType>
17 </isolatedObjectExternalKeys>
18 <testPoints>
19 <elementApiName>Start</elementApiName>
20 <parameters>
21 <leftValueReference>Accounts</leftValueReference>
22 <type>InputVariable</type>
23 <value>
24 <jsonValue>{"fields":{"Phone":"4155551212"},"attributes":{"type":"Account"}}</jsonValue>
25 </value>
26 </parameters>
27 </testPoints>
28 <testPoints>
29 <assertions>
30 <conditions>
31 <leftValueReference>Accounts.Phone</leftValueReference>
32 <operator>EqualTo</operator>
33 <rightValue>
34 <stringValue>4155551212</stringValue>
35 </rightValue>
36 </conditions>
37 <errorMessage>Account not found.</errorMessage>
38 </assertions>
39 <elementApiName>Finish</elementApiName>
40 </testPoints>
41 <testType>WithAssertion</testType>
42</FlowTest>The following is an example package.xml that references the previous definition.
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3<types>
4<members>Test_Two</members>
5<name>FlowTest</name>
6</types>
7<version>66.0</version>
8</Package>Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.