133 lines
4.0 KiB
OpenEdge ABL
133 lines
4.0 KiB
OpenEdge ABL
@IsTest
|
||
private class FileEventQueueableHandlerTest {
|
||
|
||
/* ============================================================
|
||
TEST 1 – Single ContentVersion
|
||
============================================================ */
|
||
@IsTest
|
||
static void testSingleContentVersionProcessing() {
|
||
|
||
System.debug('===== TEST START : Single ContentVersion =====');
|
||
|
||
// Create test Account for FirstPublishLocationId
|
||
Account acc = new Account(Name = 'Test Account');
|
||
insert acc;
|
||
System.debug('Inserted Account Id: ' + acc.Id);
|
||
|
||
// Create ContentVersion
|
||
ContentVersion cv = new ContentVersion(
|
||
Title = 'TestFile',
|
||
PathOnClient = 'TestFile.txt',
|
||
VersionData = Blob.valueOf('This is test file content'),
|
||
FirstPublishLocationId = acc.Id
|
||
);
|
||
insert cv;
|
||
|
||
System.debug('Inserted ContentVersion Id: ' + cv.Id);
|
||
|
||
// Fetch inserted ContentVersion again to get ContentDocumentId
|
||
cv = [
|
||
SELECT Id, ContentDocumentId
|
||
FROM ContentVersion
|
||
WHERE Id = :cv.Id
|
||
];
|
||
|
||
System.debug('Fetched ContentDocumentId: ' + cv.ContentDocumentId);
|
||
|
||
List<Id> cvIds = new List<Id>{ cv.Id };
|
||
|
||
Test.startTest();
|
||
|
||
System.enqueueJob(new FileEventQueueableHandler(cvIds));
|
||
|
||
Test.stopTest();
|
||
|
||
// Verify File_Event__c created
|
||
List<File_Event__c> events = [
|
||
SELECT Id, File_Id__c, HIC_FilesME__Title__c
|
||
FROM File_Event__c
|
||
WHERE File_Id__c = :cv.Id
|
||
];
|
||
|
||
System.debug('Inserted File_Event__c count: ' + events.size());
|
||
|
||
System.assertEquals(1, events.size());
|
||
System.assertEquals('TestFile', events[0].HIC_FilesME__Title__c);
|
||
|
||
System.debug('===== TEST END : Single ContentVersion =====');
|
||
}
|
||
|
||
|
||
/* ============================================================
|
||
TEST 2 – Multiple ContentVersions (Bulk)
|
||
============================================================ */
|
||
@IsTest
|
||
static void testMultipleContentVersionProcessing() {
|
||
|
||
System.debug('===== TEST START : Multiple ContentVersions =====');
|
||
|
||
Account acc = new Account(Name = 'Bulk Account');
|
||
insert acc;
|
||
|
||
List<ContentVersion> cvList = new List<ContentVersion>();
|
||
|
||
for (Integer i = 0; i < 3; i++) {
|
||
cvList.add(new ContentVersion(
|
||
Title = 'BulkFile_' + i,
|
||
PathOnClient = 'BulkFile_' + i + '.txt',
|
||
VersionData = Blob.valueOf('Bulk content ' + i),
|
||
FirstPublishLocationId = acc.Id
|
||
));
|
||
}
|
||
|
||
insert cvList;
|
||
|
||
System.debug('Inserted ContentVersion count: ' + cvList.size());
|
||
|
||
List<Id> cvIds = new List<Id>();
|
||
for (ContentVersion cv : cvList) {
|
||
cvIds.add(cv.Id);
|
||
}
|
||
|
||
Test.startTest();
|
||
System.enqueueJob(new FileEventQueueableHandler(cvIds));
|
||
Test.stopTest();
|
||
|
||
List<File_Event__c> events = [
|
||
SELECT Id
|
||
FROM File_Event__c
|
||
WHERE HIC_FilesME__Record_Id__c = :acc.Id
|
||
];
|
||
|
||
System.debug('Inserted File_Event__c count: ' + events.size());
|
||
|
||
System.assertEquals(3, events.size());
|
||
|
||
System.debug('===== TEST END : Multiple ContentVersions =====');
|
||
}
|
||
|
||
|
||
/* ============================================================
|
||
TEST 3 – Empty List
|
||
============================================================ */
|
||
@IsTest
|
||
static void testEmptyListProcessing() {
|
||
|
||
System.debug('===== TEST START : Empty List Scenario =====');
|
||
|
||
Test.startTest();
|
||
System.enqueueJob(new FileEventQueueableHandler(new List<Id>()));
|
||
Test.stopTest();
|
||
|
||
// No records should be created
|
||
List<File_Event__c> events = [
|
||
SELECT Id FROM File_Event__c
|
||
];
|
||
|
||
System.debug('File_Event__c count after empty run: ' + events.size());
|
||
|
||
System.assertEquals(0, events.size());
|
||
|
||
System.debug('===== TEST END : Empty List Scenario =====');
|
||
}
|
||
} |