@isTest public with sharing class FetchCollects_Batch_Test { @isTest public static void FetchCollectsWithNextPageInfoFalse() { //CustomSettingRecordInsert.InsertingConfiguration(); List ConList = new List(); HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(); con.name = 'Default'; con.HIC_ShopifySync__Opportunity__c = True; con.HIC_ShopifySync__Order__c = true; con.HIC_ShopifySync__Opportunity_Line_Item__c = True; con.HIC_ShopifySync__Order_Line_Item__c = True; con.HIC_ShopifySync__Account_Contact__c = true; con.HIC_ShopifySync__Person_Account__c = false; con.HIC_ShopifySync__Default_Account__c = false; Con.HIC_ShopifySync__Number_of_pages_for_Account__c = -1; Con.HIC_ShopifySync__Inventory_Location_Sync__c = true; Con.HIC_ShopifySync__Draft_Order_Sync__c = true; Con.HIC_ShopifySync__Store__c = '123'; ConList.add(con); insert ConList; CustomSettingRecordInsert postinstall = new CustomSettingRecordInsert(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); HIC_ShopifySync__HIC_Field_Mapping__c fld = new HIC_ShopifySync__HIC_Field_Mapping__c(); fld.name = 'test'; fld.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collect__c'; fld.HIC_ShopifySync__SF_Field__c = 'Shopify_Id__c'; fld.HIC_ShopifySync__Shopify_Fields__c = 'sort_value'; fld.HIC_ShopifySync__Nested__c = 'default_address'; fld.HIC_ShopifySync__IsSFID__c = false ; fld.HIC_ShopifySync__Default_Value__c = false ; fld.HIC_ShopifySync__Store__c = '123'; insert fld; Test.startTest(); FetchCollects_Batch obj = new FetchCollects_Batch('',false); Database.executeBatch(obj); Test.stopTest(); system.assert(fld.HIC_ShopifySync__Object_Name__c.contains('HIC_ShopifySync__Collect__c')); } @isTest public static void FetchCollectsWithNextPageInfoTrue() { //CustomSettingRecordInsert.InsertingConfiguration(); List ConList = new List(); HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(); con.name = 'Default'; con.HIC_ShopifySync__Opportunity__c = True; con.HIC_ShopifySync__Order__c = true; con.HIC_ShopifySync__Opportunity_Line_Item__c = True; con.HIC_ShopifySync__Order_Line_Item__c = True; con.HIC_ShopifySync__Account_Contact__c = true; con.HIC_ShopifySync__Person_Account__c = false; con.HIC_ShopifySync__Default_Account__c = false; Con.HIC_ShopifySync__Number_of_pages_for_Account__c = -1; Con.HIC_ShopifySync__Inventory_Location_Sync__c = true; Con.HIC_ShopifySync__Draft_Order_Sync__c = true; Con.HIC_ShopifySync__Store__c = '123'; ConList.add(con); insert ConList; CustomSettingRecordInsert postinstall = new CustomSettingRecordInsert(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); HIC_ShopifySync__HIC_Field_Mapping__c fld = new HIC_ShopifySync__HIC_Field_Mapping__c(); fld.name = 'test'; fld.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collect__c'; fld.HIC_ShopifySync__SF_Field__c = 'Shopify_Id__c'; fld.HIC_ShopifySync__Shopify_Fields__c = 'sort_value'; fld.HIC_ShopifySync__Nested__c = 'default_address'; fld.HIC_ShopifySync__IsSFID__c = false ; fld.HIC_ShopifySync__Default_Value__c = false ; fld.HIC_ShopifySync__Store__c = '123'; insert fld; Test.startTest(); FetchCollects_Batch obj = new FetchCollects_Batch('',true); Database.executeBatch(obj); Test.stopTest(); system.assert(fld.HIC_ShopifySync__Object_Name__c.contains('HIC_ShopifySync__Collect__c')); } @isTest public static void testFetchLocations() { List ConList = new List(); HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(); con.name = 'Default'; con.HIC_ShopifySync__Private_Key_Password__c = '0000000000000000True'; con.HIC_ShopifySync__Opportunity__c = True; con.HIC_ShopifySync__Order__c = true; con.HIC_ShopifySync__Opportunity_Line_Item__c = True; con.HIC_ShopifySync__Order_Line_Item__c = True; con.HIC_ShopifySync__Person_Account__c = false; Con.HIC_ShopifySync__Store__c = '123'; ConList.add(con); insert ConList; HIC_ShopifySync__HIC_Field_Mapping__c fMapObj = new HIC_ShopifySync__HIC_Field_Mapping__c(); fmapObj.HIC_ShopifySync__Object_Name__c='Account'; fmapObj.HIC_ShopifySync__SF_Field__c='HIC_ShopifySync__TAG__c'; fmapObj.HIC_ShopifySync__Shopify_Fields__c='tags'; fmapObj.name=fmapObj.HIC_ShopifySync__Object_Name__c+'-'+fmapObj.HIC_ShopifySync__Shopify_Fields__c; fmapObj.HIC_ShopifySync__Store__c = '123'; insert fMapObj; HIC_ShopifySync__HIC_Field_Mapping__c fMapObj2 = new HIC_ShopifySync__HIC_Field_Mapping__c(); fmapObj2.HIC_ShopifySync__Object_Name__c='HIC_ShopifySync__Location__c'; fmapObj2.HIC_ShopifySync__SF_Field__c='Name'; fmapObj2.HIC_ShopifySync__Shopify_Fields__c='Name'; fmapObj2.name=fmapObj.HIC_ShopifySync__Object_Name__c+'-'+fmapObj.HIC_ShopifySync__Shopify_Fields__c; fmapObj2.HIC_ShopifySync__Store__c = '123'; insert fMapObj2; //CustomSettingRecordInsert.InsertingFieldMapping(); CustomSettingRecordInsert postinstall = new CustomSettingRecordInsert(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); List FieldMapping = [select id, HIC_ShopifySync__Object_Name__c from HIC_ShopifySync__HIC_Field_Mapping__c where HIC_ShopifySync__Object_Name__c = 'Account' ]; Test.startTest(); FetchLocations_Batch obj = new FetchLocations_Batch(1,'123'); DataBase.executeBatch(obj); Test.stopTest(); System.assert(FieldMapping[0].HIC_ShopifySync__Object_Name__c.contains('Account')); } @isTest public static void FetchCollects() { //CustomSettingRecordInsert.InsertingConfiguration(); List ConList = new List(); HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(); con.name = 'Default'; con.HIC_ShopifySync__Opportunity__c = True; con.HIC_ShopifySync__Order__c = true; con.HIC_ShopifySync__Opportunity_Line_Item__c = True; con.HIC_ShopifySync__Order_Line_Item__c = True; con.HIC_ShopifySync__Account_Contact__c = true; con.HIC_ShopifySync__Person_Account__c = false; con.HIC_ShopifySync__Default_Account__c = false; Con.HIC_ShopifySync__Number_of_pages_for_Account__c = -1; Con.HIC_ShopifySync__Inventory_Location_Sync__c = true; Con.HIC_ShopifySync__Draft_Order_Sync__c = true; Con.HIC_ShopifySync__Store__c = '123'; ConList.add(con); insert ConList; CustomSettingRecordInsert postinstall = new CustomSettingRecordInsert(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); HIC_ShopifySync__HIC_Field_Mapping__c fld = new HIC_ShopifySync__HIC_Field_Mapping__c(); fld.name = 'test'; fld.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collect__c'; fld.HIC_ShopifySync__SF_Field__c = 'Shopify_Id__c'; fld.HIC_ShopifySync__Shopify_Fields__c = 'sort_value'; fld.HIC_ShopifySync__Nested__c = 'default_address'; fld.HIC_ShopifySync__IsSFID__c = false ; fld.HIC_ShopifySync__Default_Value__c = false ; fld.HIC_ShopifySync__Store__c = '123'; insert fld; Test.startTest(); FetchCollects_Batch obj = new FetchCollects_Batch(fld.id); Database.executeBatch(obj); Test.stopTest(); system.assert(fld.HIC_ShopifySync__Object_Name__c.contains('HIC_ShopifySync__Collect__c')); } @isTest public static void FetchCollectsNoOfpagelessthenOne() { //CustomSettingRecordInsert.InsertingConfiguration(); List ConList = new List(); HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(); con.name = 'Default'; con.HIC_ShopifySync__Opportunity__c = True; con.HIC_ShopifySync__Order__c = true; con.HIC_ShopifySync__Opportunity_Line_Item__c = True; con.HIC_ShopifySync__Order_Line_Item__c = True; con.HIC_ShopifySync__Account_Contact__c = true; con.HIC_ShopifySync__Person_Account__c = false; con.HIC_ShopifySync__Inventory_Location__c = true; con.HIC_ShopifySync__Default_Account__c = false; Con.HIC_ShopifySync__Number_of_pages_for_Account__c = -1; Con.HIC_ShopifySync__Inventory_Location_Sync__c = true; Con.HIC_ShopifySync__Draft_Order_Sync__c = true; Con.HIC_ShopifySync__Store__c = '123'; ConList.add(con); insert ConList; // CustomSettingRecordInsert.InsertingFieldMapping(); CustomSettingRecordInsert postinstall = new CustomSettingRecordInsert(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); HIC_ShopifySync__HIC_Field_Mapping__c fld = new HIC_ShopifySync__HIC_Field_Mapping__c(); fld.name = 'test'; fld.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collect__c'; fld.HIC_ShopifySync__SF_Field__c = 'Shopify_Id__c'; fld.HIC_ShopifySync__Shopify_Fields__c = 'sort_value'; fld.HIC_ShopifySync__Nested__c = 'default_address'; fld.HIC_ShopifySync__IsSFID__c = false ; fld.HIC_ShopifySync__Default_Value__c = false ; fld.HIC_ShopifySync__Store__c = '123'; insert fld; Test.startTest(); FetchCollects_Batch objj = new FetchCollects_Batch(1); Database.executeBatch(objj); Test.stopTest(); system.assert(fld.HIC_ShopifySync__Object_Name__c.contains('HIC_ShopifySync__Collect__c')); } @isTest public static void FetchCollectsNoOfpagelessthenOne1() { //CustomSettingRecordInsert.InsertingConfiguration(); List ConList = new List(); HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(); con.name = 'Default'; con.HIC_ShopifySync__Opportunity__c = True; con.HIC_ShopifySync__Order__c = true; con.HIC_ShopifySync__Opportunity_Line_Item__c = True; con.HIC_ShopifySync__Order_Line_Item__c = True; con.HIC_ShopifySync__Account_Contact__c = true; con.HIC_ShopifySync__Person_Account__c = false; con.HIC_ShopifySync__Inventory_Location__c = false; con.HIC_ShopifySync__Enable_Draft_Order__c = false; con.HIC_ShopifySync__Default_Account__c = false; Con.HIC_ShopifySync__Number_of_pages_for_Account__c = -1; Con.HIC_ShopifySync__Inventory_Location_Sync__c = true; Con.HIC_ShopifySync__Draft_Order_Sync__c = true; Con.HIC_ShopifySync__Store__c = '123'; ConList.add(con); insert ConList; // CustomSettingRecordInsert.InsertingFieldMapping(); // CustomSettingRecordInsert postinstall = new CustomSettingRecordInsert(); //Test.testInstall(postinstall, null); // Test.testInstall(postinstall, new Version(1,0), true); HIC_ShopifySync__HIC_Field_Mapping__c fld = new HIC_ShopifySync__HIC_Field_Mapping__c(); fld.name = 'test'; fld.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collect__c'; fld.HIC_ShopifySync__SF_Field__c = 'Shopify_Id__c'; fld.HIC_ShopifySync__Shopify_Fields__c = 'sort_value'; fld.HIC_ShopifySync__Nested__c = 'default_address'; fld.HIC_ShopifySync__IsSFID__c = false ; fld.HIC_ShopifySync__Default_Value__c = false ; fld.HIC_ShopifySync__Store__c = '123'; insert fld; Test.startTest(); FetchCollects_Batch objj = new FetchCollects_Batch(1); Database.executeBatch(objj); Test.stopTest(); system.assert(fld.HIC_ShopifySync__Object_Name__c.contains('HIC_ShopifySync__Collect__c')); } @isTest public static void FetchCollectsNoOfpagelessthenOne2() { //CustomSettingRecordInsert.InsertingConfiguration(); List ConList = new List(); HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(); con.name = 'Default'; con.Id = con.id; con.HIC_ShopifySync__Opportunity__c = True; con.HIC_ShopifySync__Order__c = true; con.HIC_ShopifySync__Opportunity_Line_Item__c = True; con.HIC_ShopifySync__Order_Line_Item__c = True; con.HIC_ShopifySync__Account_Contact__c = true; con.HIC_ShopifySync__Person_Account__c = false; con.HIC_ShopifySync__Inventory_Location__c = false; con.HIC_ShopifySync__Enable_Draft_Order__c = false; con.HIC_ShopifySync__Default_Account__c = false; Con.HIC_ShopifySync__Number_of_pages_for_Account__c = -1; Con.HIC_ShopifySync__Inventory_Location_Sync__c = true; Con.HIC_ShopifySync__Draft_Order_Sync__c = true; Con.HIC_ShopifySync__Store__c = '123'; con.HIC_ShopifySync__Default_Field_Mapping__c = true; con.HIC_ShopifySync__Collection_Sync__c = true; con.HIC_ShopifySync__IsCurrencyChanged__c = true; con.HIC_ShopifySync__Batch_Is_Processing__c = true; con.HIC_ShopifySync__Shopify_URL__c = 'www.google.com'; con.HIC_ShopifySync__Specify_Close_Date__c = true; con.HIC_ShopifySync__API_Key__c = 'test'; con.HIC_ShopifySync__Private_Key_Password__c = 'test'; con.HIC_ShopifySync__Inventory_Location__c = true; con.HIC_ShopifySync__Order_Fulfillment__c = true; con.HIC_ShopifySync__Person_Account__c = true; con.HIC_ShopifySync__Default_Account__c = true; ConList.add(con); insert ConList; // CustomSettingRecordInsert.InsertingFieldMapping(); // CustomSettingRecordInsert postinstall = new CustomSettingRecordInsert(); //Test.testInstall(postinstall, null); // Test.testInstall(postinstall, new Version(1,0), true); HIC_ShopifySync__HIC_Field_Mapping__c fld = new HIC_ShopifySync__HIC_Field_Mapping__c(); fld.name = 'test'; fld.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collect__c'; fld.HIC_ShopifySync__SF_Field__c = 'Shopify_Id__c'; fld.HIC_ShopifySync__Shopify_Fields__c = 'sort_value'; fld.HIC_ShopifySync__Nested__c = 'default_address'; fld.HIC_ShopifySync__IsSFID__c = false ; fld.HIC_ShopifySync__Default_Value__c = false ; fld.HIC_ShopifySync__Store__c = '123'; insert fld; Restrequest req = new Restrequest(); Restresponse res = new Restresponse(); req.requestBody = Blob.valueOf('{ "inventory_item_id": 21681651843136, "location_id": 23173333056, "available": 555, "updated_at": "2019-01-10T02:08:22-12:00", "admin_graphql_api_id": "gid://shopify/InventoryLevel/22851813440?inventory_item_id=21681651843136" }'); req.requestURI = 'https://hicsfshopify-developer-edition.ap4.force.com/services/apexrest/UpdateInventoryLevelsFromShopify'; req.httpMethod = 'POST'; RestContext.request = req; RestContext.response= res; res.statusCode = 200; String linkForNextPage = 'https://example.com'; Boolean isEnd = false; String store = 'Default'; Test.startTest(); try{ FetchCollects_Batch objj = new FetchCollects_Batch(2); Database.executeBatch(objj); /*FetchCollects_Batch fb = new FetchCollects_Batch('test',true,'store'); Database.executeBatch(fb);*/ } catch(exception e){ } Test.stopTest(); system.assert(fld.HIC_ShopifySync__Object_Name__c.contains('HIC_ShopifySync__Collect__c')); } @isTest static void testConstructorsCoverageOnly() { // ✅ Covers 3-parameter constructor FetchCollects_Batch batch1 = new FetchCollects_Batch('nextPageLink', false, 'TestStore'); System.assertNotEquals(null, batch1, '3-param constructor should create an instance'); // ✅ Covers 5-parameter constructor FetchCollects_Batch batch2 = new FetchCollects_Batch( 'nextPageLink2', true, 'DemoStore', '2024-01-01T00:00:00Z', '2024-01-31T00:00:00Z' ); System.assertNotEquals(null, batch2, '5-param constructor should create an instance'); } }