Skip to main content

Below is my code... I am bit confused how to write test class for this?

 

trigger TestAttachmentcontentDoc on ContentDocumentLink (before insert) 

{  

Schema.DescribeSObjectResult inv = Supporting_Documentation__c.sObjectType.getDescribe(); 

String prefix = inv.getKeyPrefix();

Map<Id, Id> doclinkedId = new Map<Id, Id>();     

String keyPrefix;     

for(ContentDocumentLink contentdoc : Trigger.New)      

{              

       keyPrefix = String.valueOf(contentdoc.LinkedEntityId).left(3);          

       if(prefix==keyPrefix)        

       {             

               doclinkedId.put(contentdoc.ContentDocumentId, contentdoc.LinkedEntityId);           

               System.debug('**doclinkedId***'+doclinkedId);

        }     

}     

Supporting_Documentation__c SD=new Supporting_Documentation__c();     

String keyvalue;     

if(doclinkedId.size()>0)    

{      

       SD=[Select Status__c from Supporting_Documentation__c where ID IN : doclinkedId.values()];

        keyvalue =String.valueOf(SD.Id).left(3); 

}     

integer i;         

for(ContentDocumentLink tgr : Trigger.New)     

{

       if( keyvalue ==prefix && SD.Status__c=='Closed')                    

       {                        

                  tgr.addError('Cannot modify attachment from an Closed Inquiry');                     

        }                         

 }  

}

 

#Content Document Link

#Test Classes

#Apex Trigger

2 respuestas
  1. 24 ago 2022, 11:01

    @isTest

    public class TestAttachmentcontentDoc{

    @isTest

    static void TestAttachment{

    Test.startTest();

    Supporting_Documentation__c SD=new Supporting_Documentation__c();     

    SD.status = 'Closed'; 

    Database.insert(SD);

    Test.stop Test();

    }

    }

0/9000