Backup_FME_personal/force-app/main/default/classes/FileEventQueueableHandlerTe...

133 lines
4.0 KiB
OpenEdge ABL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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 =====');
}
}