@IsTest public with sharing class BoxFeatureTest { /* * Mock - Box List Files Success */ private class BoxListFilesSuccessMock implements HttpCalloutMock { public HTTPResponse respond(HTTPRequest req) { HttpResponse res = new HttpResponse(); res.setStatusCode(200); res.setHeader('Content-Type', 'application/json'); res.setBody('{' + '"entries":[' + '{' + '"id":"123",' + '"name":"Test Folder",' + '"type":"folder",' + '"created_at":"2024-01-01T10:00:00Z",' + '"created_by":{"name":"Test User"}' + '},' + '{' + '"id":"456",' + '"name":"Test File.txt",' + '"type":"file",' + '"created_at":"2024-01-02T10:00:00Z",' + '"created_by":{"name":"Another User"}' + '}' + ']' + '}'); return res; } } // Success Test @IsTest static void testListFilesSuccess() { Test.setMock(HttpCalloutMock.class, new BoxListFilesSuccessMock()); Map params = new Map{ 'isServiceMode' => false, 'myDrive' => true, 'isRootFolder' => true, 'folderId' => '', 'accessToken' => 'dummyAccessToken', 'level' => 'root' }; BoxFeature service = new BoxFeature(); Test.startTest(); OperationResult result = service.listFiles(params); Test.stopTest(); } @IsTest static void testLinkFilesSuccess() { // Create parent record Account acc = new Account(Name = 'Test Account'); insert acc; // ⚠ IMPORTANT: // Replace 'Read' with a VALID picklist value from your org HIC_FilesME__Linked_Folder__c folder = new HIC_FilesME__Linked_Folder__c( Name = 'Test Folder', HIC_FilesME__Linked_Record__c = acc.Id, HIC_FilesME__External_Folder_ID__c = 'EXT123', HIC_FilesME__Folder_Name__c = 'Demo Folder', HIC_FilesME__Folder_URL__c = 'https://example.com', HIC_FilesME__Storage_Provider__c = 'awss3', HIC_FilesME__Access_Level__c = 'Public', HIC_FilesME__Is_Active__c = true ); insert folder; AWSS3Feature service = new AWSS3Feature(); Test.startTest(); OperationResult result = service.linkFiles(folder.Id); Test.stopTest(); System.assertNotEquals(null, result); List data = (List) result.data; System.assertEquals(1, data.size()); Map folderData = (Map) data[0]; System.assertEquals('EXT123', folderData.get('id')); System.assertEquals('Demo Folder', folderData.get('name')); // System.assertEquals('AwsS3', folderData.get('externalStorageType')); System.assertEquals('Public', folderData.get('accessLevel')); System.assertEquals('https://example.com', folderData.get('url')); } }