You need to sign in to do that
Don't have an account?
Amit Visapurkar 5
Please help with the test Class for the trigger
Please help with the test class for the following trigger.
trigger signaturestatus on dsfs__DocuSign_Status__c (after insert,after update) {
Case t=new Case();
for(dsfs__DocuSign_Status__c d:Trigger.New){
if(d.Id!=null){
if(stoprecurssion.runonce()){
d=[SELECT Id,dsfs__Case__r.Signature_Required__c,dsfs__Case__r.Id,dsfs__Case__r.Status,dsfs__Envelope_Status__c FROM dsfs__DocuSign_Status__c WHERE Id=:Trigger.New];
String e=d.dsfs__Case__r.Id;
t=[SELECT ID,Signature_Required__c,Customer_Signature_Status__c,Status FROM CASE WHERE Id=:e];
if(d.dsfs__Case__r.Signature_Required__c==true && d.dsfs__Envelope_Status__c=='Completed'){
t.status='Closed';
t.Customer_Signature_Status__c=d.dsfs__Envelope_Status__c;
update t;
}
else{
t.status=d.dsfs__Case__r.Status;
update t;
}
}
}
}
}
It's urgent
trigger signaturestatus on dsfs__DocuSign_Status__c (after insert,after update) {
Case t=new Case();
for(dsfs__DocuSign_Status__c d:Trigger.New){
if(d.Id!=null){
if(stoprecurssion.runonce()){
d=[SELECT Id,dsfs__Case__r.Signature_Required__c,dsfs__Case__r.Id,dsfs__Case__r.Status,dsfs__Envelope_Status__c FROM dsfs__DocuSign_Status__c WHERE Id=:Trigger.New];
String e=d.dsfs__Case__r.Id;
t=[SELECT ID,Signature_Required__c,Customer_Signature_Status__c,Status FROM CASE WHERE Id=:e];
if(d.dsfs__Case__r.Signature_Required__c==true && d.dsfs__Envelope_Status__c=='Completed'){
t.status='Closed';
t.Customer_Signature_Status__c=d.dsfs__Envelope_Status__c;
update t;
}
else{
t.status=d.dsfs__Case__r.Status;
update t;
}
}
}
}
}
It's urgent
It is going to through error because your case doesn't have all the required field. Please modify your triggert accordingly
All Answers
Try this and let me know if any line is not getting covered.
public static boolean flag=true;
public static boolean runonce(){
if(flag){
flag=false;
}
else {
return flag;
}
return true;
}
}
calling this method from trigger.
return flag is not getting covered
And by looking at your code, I don't think this code can ever trap into recurssive situation.
Do you have any trigger on case object in which you are performing DML operation on dsfs__DocuSign_Status__c object.
if not you can remove stoprecurssion.runonce() from line ten.
you can also cover this class by calling it externally like below:
Don't forget to mark it best answer if it resolve your issue.
t.status=d.dsfs__Case__r.Status;
update t;
}
the else part is also not getting covered
It is going to through error because your case doesn't have all the required field. Please modify your triggert accordingly