SyncMadeEasy/force-app/main/default/classes/FetchCollects_Batch_Test.cls

398 lines
18 KiB
OpenEdge ABL

@isTest
public with sharing class FetchCollects_Batch_Test {
@isTest
public static void FetchCollectsWithNextPageInfoFalse() {
//CustomSettingRecordInsert.InsertingConfiguration();
List<HIC_ShopifySync__HIC_Configuration__c> ConList = new List<HIC_ShopifySync__HIC_Configuration__c>();
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<HIC_ShopifySync__HIC_Configuration__c> ConList = new List<HIC_ShopifySync__HIC_Configuration__c>();
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<HIC_ShopifySync__HIC_Configuration__c> ConList = new List<HIC_ShopifySync__HIC_Configuration__c>();
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<HIC_ShopifySync__HIC_Field_Mapping__c> 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<HIC_ShopifySync__HIC_Configuration__c> ConList = new List<HIC_ShopifySync__HIC_Configuration__c>();
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<HIC_ShopifySync__HIC_Configuration__c> ConList = new List<HIC_ShopifySync__HIC_Configuration__c>();
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<HIC_ShopifySync__HIC_Configuration__c> ConList = new List<HIC_ShopifySync__HIC_Configuration__c>();
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<HIC_ShopifySync__HIC_Configuration__c> ConList = new List<HIC_ShopifySync__HIC_Configuration__c>();
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');
}
}