#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(); } } ```