You need to sign in to do that
Don't have an account?
MUSFAR KT 6
Any one help with test class for below code
public with sharing class CrossObjectWorkflowACtionSelectorImpl extends fflib_SObjectSelector implements CrossObjectWorkflowACtionSelector {
public List<Schema.SObjectField> getSObjectFieldList() {
return new List<Schema.SObjectField>{
x_object_workflow_action__mdt.id,
x_object_workflow_action__mdt.child_object_name__c,
x_object_workflow_action__mdt.lookup_field_name__c,
x_object_workflow_action__mdt.task_key_value__c,
x_object_workflow_action__mdt.rule_key_value__c,
x_object_workflow_action__mdt.automation_direction__c,
x_object_workflow_action__mdt.triggering_status__c,
x_object_workflow_action__mdt.child_start_status__c,
x_object_workflow_action__mdt.child_destination_status__c
};
}
public Schema.SObjectType getSObjectType() {
return x_object_workflow_action__mdt.sObjectType;
}
//get relevante crossed object actions by parent object type and triggering status
public List<x_object_workflow_action__mdt> getParentToChildActions(
String parentObjectType,
Set<String> triggeringStatuses
) {
return Database.query(
newQueryFactory()
.setEnforceFLS(false)
.selectFields(getSObjectFieldList())
.setCondition(
'parent_object_name__c = :parentObjectType AND automation_direction__c = \'Parent to Children\' AND triggering_status__c IN :triggeringStatuses AND active__c = true'
)
.toSOQL()
);
}
}
public List<Schema.SObjectField> getSObjectFieldList() {
return new List<Schema.SObjectField>{
x_object_workflow_action__mdt.id,
x_object_workflow_action__mdt.child_object_name__c,
x_object_workflow_action__mdt.lookup_field_name__c,
x_object_workflow_action__mdt.task_key_value__c,
x_object_workflow_action__mdt.rule_key_value__c,
x_object_workflow_action__mdt.automation_direction__c,
x_object_workflow_action__mdt.triggering_status__c,
x_object_workflow_action__mdt.child_start_status__c,
x_object_workflow_action__mdt.child_destination_status__c
};
}
public Schema.SObjectType getSObjectType() {
return x_object_workflow_action__mdt.sObjectType;
}
//get relevante crossed object actions by parent object type and triggering status
public List<x_object_workflow_action__mdt> getParentToChildActions(
String parentObjectType,
Set<String> triggeringStatuses
) {
return Database.query(
newQueryFactory()
.setEnforceFLS(false)
.selectFields(getSObjectFieldList())
.setCondition(
'parent_object_name__c = :parentObjectType AND automation_direction__c = \'Parent to Children\' AND triggering_status__c IN :triggeringStatuses AND active__c = true'
)
.toSOQL()
);
}
}
The below information should help you get started:
https://salesforce.stackexchange.com/questions/244788/how-do-i-write-an-apex-unit-test
https://salesforce.stackexchange.com/questions/244794/how-do-i-increase-my-code-coverage-or-why-cant-i-cover-these-lines
The post https://salesforce.stackexchange.com/a/327222/80089 provides good context on mocking Database.QueryLocator in unit tests
Hope this helps you. Please mark this answer as best so that others facing the same issue will find this information useful. Thank you