Как написать тестовый класс для пользовательского триггера, как написать вставку

#unit-testing #triggers #apex

Вопрос:

Это пользовательский лид ,после преобразования в Учетную запись вложение и файлы, прикрепленные к объекту Лида, будут подключены к Учетной записи. мой триггер работает нормально , теперь я хочу создать для этого тестовый класс. там будет База данных.LeadConvert lc = новая база данных.LeadConvert(); для стандартного вывода, что я должен использовать для пользовательского объекта для запроса этого.

 Listlt;Attachmentgt; listInsertAttachments = new Listlt;Attachmentgt;();  setlt;Idgt; leadIds = new setlt;Idgt;();    for(GKNS_Lead__c l : trigger.old) {   if(l.IsConverted__c){  leadIds.add(l.Id);  }  }    Listlt;Attachmentgt; listAttachments = [SELECT Name, Body, ParentId FROM Attachment WHERE ParentId IN: leadIds];   for(Attachment a : listAttachments ) {  if(trigger.oldMap.get(a.ParentId).ConvertedAccountId__c!=null){  Attachment newAttachment = a.clone();  newAttachment.ParentId = trigger.oldMap.get(a.ParentId).ConvertedAccountId__c;   listInsertAttachments.add(newAttachment);  }  }   if(!listInsertAttachments.isEmpty()){  insert listInsertAttachments;   }    //*****************************/  //get content document link   Listlt;ContentDocumentLinkgt; cdlToInsert = new Listlt;ContentDocumentLinkgt;();  Listlt;ContentDocumentLinkgt; cdlList = [SELECT Id, LinkedEntityId, ContentDocumentId, ShareType, Visibility FROM ContentDocumentLink WHERE LinkedEntityId IN:leadIds];  for(ContentDocumentLink cdl : cdlList){   if(trigger.oldMap.get(cdl.LinkedEntityId).ConvertedAccountId__c!=null){  ContentDocumentLink contentlink = new ContentDocumentLink();  contentlink.LinkedEntityId = trigger.oldMap.get(cdl.LinkedEntityId).ConvertedAccountId__c;  contentlink.contentdocumentid = cdl.contentdocumentid;  contentlink.ShareType = cdl.ShareType;  cdlToInsert.add(contentlink);  }  }  If(!cdlToInsert.isEmpty()){  Insert cdlToInsert;  }  }```  Test Class:-   ``` @IsTest public class LeadTrigger_Test {   static testMethod void testLeadConv() {       GKNS_Lead__c leadObj = new GKNS_Lead__c();  leadObj.FirstName__c = 'test';  leadObj.LastName__c = 'test';  leadObj.MobilePhone__c = '732492739';  leadObj.Email__c = 'test@test.com';  leadObj.Company__c='Test';  Insert leadObj;    Attachment attach=new Attachment();   attach.Name='Unit Test Attachment';  Blob bodyBlobs=Blob.valueOf('Unit Test Attachment Body');  attach.body=bodyBlobs;  attach.parentId=leadObj.id;  insert attach;    //Create Document  Blob bodyBlob=Blob.valueOf('Unit Test ContentVersion Body to be insert in test class for testing the');  ContentVersion contentVersion_1 = new ContentVersion(  Title='SampleTitle',   PathOnClient ='SampleTitle.jpg',  VersionData = bodyBlob,   origin = 'H'  );  insert contentVersion_1;  //Get Content Version  ContentVersion contentVersion_2 = [SELECT Id, Title, ContentDocumentId   FROM ContentVersion WHERE Id = :contentVersion_1.Id LIMIT 1];    //Get Content Documents  ContentDocumentLink contentlink = new ContentDocumentLink();  contentlink.LinkedEntityId = leadObj.id;  contentlink.contentdocumentid = contentVersion_2.contentdocumentid;  contentlink.ShareType = 'V';  insert contentlink;     Database.LeadConvert lc = new database.LeadConvert();   }  } ```