Мы на самом деле не служба написания кода, вы можете нанять консультанта или даже опубликовать работу на https://appexchange.salesforce.com/developers (она должна быть проверена самими SF, не использовали эту часть Применим лично). Другое дело, если у вас есть конкретная проблема c, вы написали некоторый код, застряли с конкретной проблемой ...
Это должно дать вам несколько идей о том, как его можно атаковать. Никаких обещаний, которые он даже скомпилирует. Это не идеальный пиксель, нет отрицательного тестового примера (ссылка на задачу с другим типом записи не должна устанавливать флаг et c)
, но это начало.
@isTest
public with sharing class ContentDocumentLinkTriggerTest {
@isTest
public static void testSettingTaskFlag(){
Task t = new Task(
Subject = 'unit test here we go',
RecordTypeId = Schema.SObjectType.Task.getRecordTypeInfosByName().get('ERT_Task_Record_Type').getRecordTypeId()
);
insert t;
ContentVersion cv = new ContentVersion(
Title = 'Some document',
PathOnClient = 'some document.txt',
VersionData = Blob.valueOf('Lorem ipsum dolor sit amet...')
);
insert cv;
ContentDocument cd = [SELECT Id FROM ContentDocument WHERE LatestPublishedVersionId = :cv.Id];
ContentDocumentLink cdl = new ContentDocumentLink(
ContentDocumentId = cd.Id,
LinkedEntityId = t.Id
);
Test.startTest();
insert cdl;
Test.stopTest();
Task newTask = [SELECT Attachment_Indicator__c FROM Task WHERE Id = :t.Id];
System.assert(newTask.Attachment_Indicator__c);
}
}