866 lines
41 KiB
OpenEdge ABL
866 lines
41 KiB
OpenEdge ABL
@istest
|
|
public with sharing class FetchOrders_test {
|
|
@istest public static void bothforOppandOrd (){
|
|
Account ac = new Account();
|
|
ac.name = 'test';
|
|
insert ac;
|
|
|
|
Opportunity Opp = new Opportunity();
|
|
Opp.name = 'Test';
|
|
Opp.AccountId = ac.id;
|
|
Opp.StageName = 'Closed Won';
|
|
Opp.CloseDate = system.today();
|
|
Opp.Shopify_Id__c = '618960158784';
|
|
insert Opp;
|
|
|
|
Order ord = new Order();
|
|
Ord.EffectiveDate = system.today();
|
|
Ord.AccountId = ac.id;
|
|
Ord.Shopify_Id__c = '618960158784';
|
|
ord.Status = 'Draft';
|
|
insert Ord;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = New List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c shopifyConfiguration = New HIC_ShopifySync__HIC_Configuration__c();
|
|
shopifyConfiguration.Name = 'Default';
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Contact__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Person_Account__c = false;
|
|
shopifyConfiguration.HIC_ShopifySync__Default_Account__c = false;
|
|
shopifyConfiguration.HIC_ShopifySync__Shopify_URL__c = '123@gmail.com';
|
|
shopifyConfiguration.HIC_ShopifySync__API_Key__c = 'test';
|
|
shopifyConfiguration.HIC_ShopifySync__Private_Key_Password__c = 'Test';
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Record_Type__c = ac.Id;
|
|
shopifyConfiguration.HIC_ShopifySync__IsCurrencyChanged__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Store__c = '123';
|
|
configuration.add(shopifyConfiguration);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders obj = new FetchOrders('test',false,true,configuration,'123');
|
|
DataBase.executeBatch(obj);
|
|
FetchOrders obj1 = new FetchOrders('test',true,false,configuration,'123');
|
|
DataBase.executeBatch(obj1);
|
|
Test.stopTest();
|
|
system.assert(shopifyConfiguration.Opportunity__c);
|
|
}
|
|
|
|
@istest public static void bothforOppandOrd1 (){
|
|
Account ac = new Account();
|
|
ac.name = 'test';
|
|
insert ac;
|
|
|
|
Opportunity Opp = new Opportunity();
|
|
Opp.name = 'Test';
|
|
Opp.AccountId = ac.id;
|
|
Opp.StageName = 'Closed Won';
|
|
Opp.CloseDate = system.today();
|
|
Opp.Shopify_Id__c = '618960158784';
|
|
insert Opp;
|
|
|
|
Order ord = new Order();
|
|
Ord.EffectiveDate = system.today();
|
|
Ord.AccountId = ac.id;
|
|
Ord.Shopify_Id__c = '618960158784';
|
|
ord.Status = 'Draft';
|
|
insert Ord;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = New List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c shopifyConfiguration = New HIC_ShopifySync__HIC_Configuration__c();
|
|
shopifyConfiguration.Name = 'Default';
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Contact__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Person_Account__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Default_Account__c = false;
|
|
shopifyConfiguration.HIC_ShopifySync__Shopify_URL__c = '123@gmail.com';
|
|
shopifyConfiguration.HIC_ShopifySync__API_Key__c = 'test';
|
|
shopifyConfiguration.HIC_ShopifySync__Private_Key_Password__c = 'Test';
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Record_Type__c = ac.Id;
|
|
shopifyConfiguration.HIC_ShopifySync__Store__c = '123';
|
|
configuration.add(shopifyConfiguration);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders obj = new FetchOrders('test' ,true,true,configuration,'123');
|
|
DataBase.executeBatch(obj);
|
|
Test.stopTest();
|
|
system.assert(shopifyConfiguration.Opportunity__c);
|
|
}
|
|
|
|
@istest public static void bothforOppandOrd2 (){
|
|
Account ac = new Account();
|
|
ac.name = 'test';
|
|
insert ac;
|
|
|
|
Opportunity Opp = new Opportunity();
|
|
Opp.name = 'Test';
|
|
Opp.AccountId = ac.id;
|
|
Opp.StageName = 'Closed Won';
|
|
Opp.CloseDate = system.today();
|
|
Opp.Shopify_Id__c = '618960158784';
|
|
insert Opp;
|
|
|
|
Order ord = new Order();
|
|
Ord.EffectiveDate = system.today();
|
|
Ord.AccountId = ac.id;
|
|
Ord.Shopify_Id__c = '618960158784';
|
|
ord.Status = 'Draft';
|
|
insert Ord;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = New List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c shopifyConfiguration = New HIC_ShopifySync__HIC_Configuration__c();
|
|
shopifyConfiguration.Name = 'Default';
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Contact__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Person_Account__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Default_Account__c = false;
|
|
shopifyConfiguration.HIC_ShopifySync__Shopify_URL__c = '123@gmail.com';
|
|
shopifyConfiguration.HIC_ShopifySync__API_Key__c = 'test';
|
|
shopifyConfiguration.HIC_ShopifySync__Private_Key_Password__c = 'Test';
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Record_Type__c = ac.Id;
|
|
shopifyConfiguration.HIC_ShopifySync__Collection__c = false;
|
|
shopifyConfiguration.HIC_ShopifySync__Store__c = '123';
|
|
configuration.add(shopifyConfiguration);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders obj = new FetchOrders('test' , true ,true,configuration,'123');
|
|
DataBase.executeBatch(obj);
|
|
Test.stopTest();
|
|
system.assert(shopifyConfiguration.Opportunity__c);
|
|
}
|
|
|
|
@istest public static void bothforOppandOrd3(){
|
|
Account ac = new Account();
|
|
ac.name = 'test';
|
|
insert ac;
|
|
|
|
Opportunity Opp = new Opportunity();
|
|
Opp.name = 'Test';
|
|
Opp.AccountId = ac.id;
|
|
Opp.StageName = 'Closed Won';
|
|
Opp.CloseDate = system.today();
|
|
Opp.Shopify_Id__c = '618960158784';
|
|
insert Opp;
|
|
|
|
Order ord = new Order();
|
|
Ord.EffectiveDate = system.today();
|
|
Ord.AccountId = ac.id;
|
|
Ord.Shopify_Id__c = '618960158784';
|
|
ord.Status = 'Draft';
|
|
insert Ord;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = New List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c shopifyConfiguration = New HIC_ShopifySync__HIC_Configuration__c();
|
|
shopifyConfiguration.Name = 'Default';
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Contact__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Person_Account__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Default_Account__c = false;
|
|
shopifyConfiguration.HIC_ShopifySync__Shopify_URL__c = '123@gmail.com';
|
|
shopifyConfiguration.HIC_ShopifySync__API_Key__c = 'test';
|
|
shopifyConfiguration.HIC_ShopifySync__Private_Key_Password__c = 'Test';
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Record_Type__c = ac.Id;
|
|
shopifyConfiguration.HIC_ShopifySync__Inventory_Location__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Store__c = '123';
|
|
configuration.add(shopifyConfiguration);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders obj = new FetchOrders('test', true,true,configuration,'123');
|
|
DataBase.executeBatch(obj);
|
|
Test.stopTest();
|
|
system.assert(shopifyConfiguration.Opportunity__c);
|
|
}
|
|
|
|
@istest public static void bothforOppandOrd4(){
|
|
Account ac = new Account();
|
|
ac.name = 'test';
|
|
insert ac;
|
|
|
|
Opportunity Opp = new Opportunity();
|
|
Opp.name = 'Test';
|
|
Opp.AccountId = ac.id;
|
|
Opp.StageName = 'Closed Won';
|
|
Opp.CloseDate = system.today();
|
|
Opp.Shopify_Id__c = '618960158784';
|
|
insert Opp;
|
|
|
|
Order ord = new Order();
|
|
Ord.EffectiveDate = system.today();
|
|
Ord.AccountId = ac.id;
|
|
Ord.Shopify_Id__c = '618960158784';
|
|
ord.Status = 'Draft';
|
|
insert Ord;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = New List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c shopifyConfiguration = New HIC_ShopifySync__HIC_Configuration__c();
|
|
shopifyConfiguration.Name = 'Default';
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Contact__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Person_Account__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Default_Account__c = false;
|
|
shopifyConfiguration.HIC_ShopifySync__Shopify_URL__c = '123@gmail.com';
|
|
shopifyConfiguration.HIC_ShopifySync__API_Key__c = 'test';
|
|
shopifyConfiguration.HIC_ShopifySync__Private_Key_Password__c = 'Test';
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Opportunity_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Account_Record_Type__c = ac.Id;
|
|
shopifyConfiguration.HIC_ShopifySync__Enable_Draft_Order__c = true;
|
|
shopifyConfiguration.HIC_ShopifySync__Store__c = '123';
|
|
configuration.add(shopifyConfiguration);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders obj = new FetchOrders('test' ,true,true,configuration,'123');
|
|
DataBase.executeBatch(obj);
|
|
Test.stopTest();
|
|
system.assert(shopifyConfiguration.Opportunity__c);
|
|
}
|
|
|
|
@isTest public static void FetchOrderTest1(){
|
|
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
|
|
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
|
|
|
|
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
|
|
|
|
Id priceBookId = Test.getStandardPricebookId();
|
|
if(priceBookId != null){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','Pricebook2Id',string.valueOf(priceBookId),'',true,false,'REFERENCE','Reference',string.valueOf(priceBookId)));
|
|
Boolean multiCurrencyEnabled = Schema.getGlobalDescribe().containsKey('CurrencyType');
|
|
if(multiCurrencyEnabled){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','',true,false,'PICKLIST','string',''));
|
|
}
|
|
}
|
|
insert fieldMapList;
|
|
|
|
system.assertEquals(200, res.getStatusCode());
|
|
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 = false;
|
|
con.HIC_ShopifySync__Order__c = true;
|
|
con.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
con.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
con.HIC_ShopifySync__Enable_Draft_Order__c = true;
|
|
con.HIC_ShopifySync__Store__c = '123';
|
|
ConList.add(con);
|
|
insert ConList;
|
|
|
|
Test.startTest();
|
|
HIC_ShopifyUtility.fetchDraftOrders(ConList,'123');
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest public static void FetchOrderTest2(){
|
|
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
|
|
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
|
|
|
|
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
|
|
|
|
Id priceBookId = Test.getStandardPricebookId();
|
|
if(priceBookId != null){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','Pricebook2Id',string.valueOf(priceBookId),'',true,false,'REFERENCE','Reference',string.valueOf(priceBookId)));
|
|
Boolean multiCurrencyEnabled = Schema.getGlobalDescribe().containsKey('CurrencyType');
|
|
if(multiCurrencyEnabled){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','',true,false,'PICKLIST','string',''));
|
|
}
|
|
}
|
|
insert fieldMapList;
|
|
|
|
system.assertEquals(200, res.getStatusCode());
|
|
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 = false;
|
|
con.HIC_ShopifySync__Order__c = true;
|
|
con.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
con.HIC_ShopifySync__Order_Line_Item__c = True;
|
|
con.HIC_ShopifySync__Store__c = '123';
|
|
ConList.add(con);
|
|
insert ConList;
|
|
Test.startTest();
|
|
HIC_ShopifyUtility.fetchDraftOrders(ConList,'123');
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest public static void FetchOrderTest3(){
|
|
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
|
|
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
|
|
|
|
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
|
|
|
|
Id priceBookId = Test.getStandardPricebookId();
|
|
if(priceBookId != null){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','Pricebook2Id',string.valueOf(priceBookId),'',true,false,'REFERENCE','Reference',string.valueOf(priceBookId)));
|
|
Boolean multiCurrencyEnabled = Schema.getGlobalDescribe().containsKey('CurrencyType');
|
|
if(multiCurrencyEnabled){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','',true,false,'PICKLIST','string',''));
|
|
}
|
|
}
|
|
insert fieldMapList;
|
|
|
|
system.assertEquals(200, res.getStatusCode());
|
|
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 = false;
|
|
con.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
con.HIC_ShopifySync__Order_Line_Item__c = True;
|
|
con.HIC_ShopifySync__Store__c = '123';
|
|
ConList.add(con);
|
|
insert ConList;
|
|
Test.startTest();
|
|
HIC_ShopifyUtility.fetchDraftOrders(ConList,'123');
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest public static void FetchOrderTest4(){
|
|
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
|
|
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
|
|
|
|
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
|
|
|
|
Id priceBookId = Test.getStandardPricebookId();
|
|
if(priceBookId != null){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','Pricebook2Id',string.valueOf(priceBookId),'',true,false,'REFERENCE','Reference',string.valueOf(priceBookId)));
|
|
Boolean multiCurrencyEnabled = Schema.getGlobalDescribe().containsKey('CurrencyType');
|
|
if(multiCurrencyEnabled){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','',true,false,'PICKLIST','string',''));
|
|
}
|
|
}
|
|
insert fieldMapList;
|
|
|
|
system.assertEquals(200, res.getStatusCode());
|
|
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 = false;
|
|
con.HIC_ShopifySync__Order_Line_Item__c = True;
|
|
con.HIC_ShopifySync__Store__c = '123';
|
|
ConList.add(con);
|
|
insert ConList;
|
|
Test.startTest();
|
|
HIC_ShopifyUtility.fetchDraftOrders(ConList,'123');
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest public static void FetchOrderTest5(){
|
|
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
|
|
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
|
|
|
|
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
|
|
|
|
Id priceBookId = Test.getStandardPricebookId();
|
|
if(priceBookId != null){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','Pricebook2Id',string.valueOf(priceBookId),'',true,false,'REFERENCE','Reference',string.valueOf(priceBookId)));
|
|
Boolean multiCurrencyEnabled = Schema.getGlobalDescribe().containsKey('CurrencyType');
|
|
if(multiCurrencyEnabled){
|
|
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','',true,false,'PICKLIST','string',''));
|
|
}
|
|
}
|
|
insert fieldMapList;
|
|
|
|
CustomSettingRecordInsert.InsertingWebhook();
|
|
|
|
system.assertEquals(200, res.getStatusCode());
|
|
|
|
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 = false;
|
|
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__Store__c = '123';
|
|
ConList.add(con);
|
|
insert ConList;
|
|
Test.startTest();
|
|
HIC_ShopifyUtility.fetchDraftOrders(ConList,'123');
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest
|
|
static void FetchOrdersTest() {
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configurationList = new List<HIC_ShopifySync__HIC_Configuration__c>{
|
|
new HIC_ShopifySync__HIC_Configuration__c(
|
|
HIC_ShopifySync__API_Key__c = 'Test-AB',
|
|
HIC_ShopifySync__Private_Key_Password__c = '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',
|
|
HIC_ShopifySync__Shopify_URL__c = 'https://staging-jacuzzi-hot-tubs-ontario.myshopify.com/',
|
|
HIC_ShopifySync__Store__c = 'staging-jacuzzi-hot-tubs-ontario',
|
|
Name = 'staging-jacuzzi-hot-tubs-ontario')
|
|
};
|
|
insert configurationList;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch0 = new FetchOrders('', false, true, configurationList, 'staging-jacuzzi-hot-tubs-ontario');
|
|
FetchOrders batch1 = new FetchOrders('', false, true, configurationList, 'staging-jacuzzi-hot-tubs-ontario','','');
|
|
FetchOrders batch2 = new FetchOrders('', false, true, configurationList, 'staging-jacuzzi-hot-tubs-ontario','','',false);
|
|
ID batchJobId = Database.executeBatch(batch1, 1);
|
|
Test.stopTest();
|
|
}
|
|
|
|
// ─── NEW TESTS BELOW ────────────────────────────────────────────────────────
|
|
|
|
/**
|
|
* Tests the shopifyResourceName constructor (4th constructor)
|
|
* and covers the shopifyResourceName != null path in start() and finish()
|
|
*/
|
|
@isTest
|
|
static void testShopifyResourceNameConstructor() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = false;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = true;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
// 4th constructor: shopifyResourceName variant
|
|
FetchOrders batch = new FetchOrders('', true, 'draft_orders', configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
system.assertNotEquals(null, batch);
|
|
}
|
|
|
|
/**
|
|
* Tests orderBypassFlag = true path
|
|
*/
|
|
@isTest
|
|
static void testOrderBypassFlagTrue() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
Order ord = new Order();
|
|
ord.EffectiveDate = system.today();
|
|
ord.AccountId = ac.id;
|
|
ord.Shopify_Id__c = '618960158784';
|
|
ord.Status = 'Draft';
|
|
insert ord;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = false;
|
|
cfg.HIC_ShopifySync__Order__c = false;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__IsCurrencyChanged__c = true;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
// orderBypassFlag = true → forces OrderIntoOrder path even when Order__c = false
|
|
FetchOrders batch = new FetchOrders('', true, true, configuration, '123', '', '', true);
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
system.assertNotEquals(null, batch);
|
|
}
|
|
|
|
/**
|
|
* Tests updated_at_min and updated_at_max parameters (5-param constructor)
|
|
*/
|
|
@isTest
|
|
static void testUpdatedAtMinMax() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = true;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = true;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
// Order with date range filters
|
|
FetchOrders batchOrder = new FetchOrders('', true, true, configuration, '123', '2024-01-01T00:00:00Z', '2024-12-31T23:59:59Z');
|
|
Database.executeBatch(batchOrder, 1);
|
|
|
|
// Draft Order with date range filters
|
|
FetchOrders batchDraft = new FetchOrders('', true, false, configuration, '123', '2024-01-01T00:00:00Z', '2024-12-31T23:59:59Z');
|
|
Database.executeBatch(batchDraft, 1);
|
|
Test.stopTest();
|
|
|
|
system.assertNotEquals(null, batchOrder);
|
|
system.assertNotEquals(null, batchDraft);
|
|
}
|
|
|
|
/**
|
|
* Tests B2B path: HIC_ShopifySync__Customer_Email_Domain__c = true
|
|
* Covers b2bOrderIdToAccountId / b2bOrderIdToContactId population,
|
|
* existing account lookup, new account creation, and contact lookup.
|
|
*/
|
|
@isTest
|
|
static void testB2BPath() {
|
|
// Pre-create an account matching expected email domain ('gmail')
|
|
Account domainAccount = new Account(Name = 'gmail');
|
|
insert domainAccount;
|
|
|
|
// Pre-create a Contact with a Shopify ID so b2bOrderIdToContactId path is hit
|
|
Contact existingContact = new Contact(
|
|
LastName = 'TestContact',
|
|
AccountId = domainAccount.Id,
|
|
HIC_ShopifySync__Shopify_Id__c = 'Business 926016995392'
|
|
);
|
|
insert existingContact;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = true;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = true;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Opportunity_for_SDO__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
cfg.HIC_ShopifySync__Customer_Email_Domain__c = true; // Enable B2B path
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
// Run for Orders (check = true) via B2B path
|
|
FetchOrders batchOrder = new FetchOrders('', true, true, configuration, '123', '', '');
|
|
Database.executeBatch(batchOrder, 1);
|
|
|
|
// Run for Draft Orders (check = false) via B2B path
|
|
FetchOrders batchDraft = new FetchOrders('', true, false, configuration, '123', '', '');
|
|
Database.executeBatch(batchDraft, 1);
|
|
Test.stopTest();
|
|
|
|
// B2B account created or found for domain 'gmail'
|
|
List<Account> accounts = [SELECT Id, Name FROM Account WHERE Name = 'gmail'];
|
|
system.assert(!accounts.isEmpty(), 'B2B domain account should exist');
|
|
}
|
|
|
|
/**
|
|
* Tests B2B path where no existing account exists for the domain,
|
|
* forcing account creation inside the batch.
|
|
*/
|
|
@isTest
|
|
static void testB2BPathNewAccountCreation() {
|
|
// Do NOT pre-create an account for domain 'gmail' — batch should create it
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = true;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Opportunity_for_SDO__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
cfg.HIC_ShopifySync__Customer_Email_Domain__c = true;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch = new FetchOrders('', true, true, configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
List<Account> createdAccounts = [SELECT Id, Name FROM Account WHERE Name = 'gmail'];
|
|
system.assert(!createdAccounts.isEmpty(), 'Batch should have created B2B domain account');
|
|
}
|
|
|
|
/**
|
|
* Tests the finish() → Draft Order Sync branch
|
|
* (check=false, Draft_Order_Sync__c=true)
|
|
*/
|
|
@isTest
|
|
static void testFinishDraftOrderSyncBranch() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = false;
|
|
cfg.HIC_ShopifySync__Order__c = false;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = true;
|
|
cfg.HIC_ShopifySync__Enable_Opportunity_for_SDO__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = true; // finish → DraftOrder completed branch
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch = new FetchOrders('', true, false, configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> updated = [
|
|
SELECT HIC_ShopifySync__DraftOrderBatchCompleted__c
|
|
FROM HIC_ShopifySync__HIC_Configuration__c
|
|
WHERE HIC_ShopifySync__Store__c = '123'
|
|
];
|
|
system.assert(!updated.isEmpty());
|
|
}
|
|
|
|
/**
|
|
* Tests the finish() → no draft/collection/inventory branch
|
|
* (all flags false, check=true → OrderBatchCompleted set true)
|
|
*/
|
|
@isTest
|
|
static void testFinishNoDraftNoCollectionNoInventory() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = false;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Opportunity_for_SDO__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
cfg.HIC_ShopifySync__IsCurrencyChanged__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch = new FetchOrders('', true, true, configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> updated = [
|
|
SELECT HIC_ShopifySync__OrderBatchCompleted__c, HIC_ShopifySync__Batch_Is_Processing__c
|
|
FROM HIC_ShopifySync__HIC_Configuration__c
|
|
WHERE HIC_ShopifySync__Store__c = '123'
|
|
];
|
|
system.assert(!updated.isEmpty());
|
|
}
|
|
|
|
/**
|
|
* Tests Order Fulfillment path (Order_Fulfillment__c = true, check = true)
|
|
*/
|
|
@isTest
|
|
static void testOrderFulfillmentPath() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = false;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Order_Fulfillment__c = true; // Fulfillment path
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch = new FetchOrders('', true, true, configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
system.assertNotEquals(null, batch);
|
|
}
|
|
|
|
/**
|
|
* Tests Order_Status_Activated_To_Draft__c = false path
|
|
* (activates orders after upsert)
|
|
*/
|
|
@isTest
|
|
static void testOrderStatusActivatedToDraftFalse() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = false;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = true;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Order_Fulfillment__c = false;
|
|
cfg.HIC_ShopifySync__Order_Status_Activated_To_Draft__c = false; // triggers Activated status set
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch = new FetchOrders('', true, true, configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
system.assertNotEquals(null, batch);
|
|
}
|
|
|
|
/**
|
|
* Tests Enable_Opportunity_for_SDO__c path (Draft Order → Opportunity)
|
|
*/
|
|
@isTest
|
|
static void testEnableOpportunityForSDO() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = false;
|
|
cfg.HIC_ShopifySync__Order__c = false;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Opportunity_for_SDO__c = true; // Draft Order → Opportunity
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = false;
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch = new FetchOrders('', true, false, configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
system.assertNotEquals(null, batch);
|
|
}
|
|
|
|
/**
|
|
* Tests Person Account path (Person_Account__c = true)
|
|
* with a Shopify customer that does NOT already have a 'Person' prefix.
|
|
*/
|
|
@isTest
|
|
static void testPersonAccountPath() {
|
|
Account ac = new Account(Name = 'test');
|
|
insert ac;
|
|
|
|
List<HIC_ShopifySync__HIC_Configuration__c> configuration = new List<HIC_ShopifySync__HIC_Configuration__c>();
|
|
HIC_ShopifySync__HIC_Configuration__c cfg = new HIC_ShopifySync__HIC_Configuration__c();
|
|
cfg.Name = 'Default';
|
|
cfg.HIC_ShopifySync__Store__c = '123';
|
|
cfg.HIC_ShopifySync__Shopify_URL__c = 'https://test.myshopify.com/';
|
|
cfg.HIC_ShopifySync__API_Key__c = 'testkey';
|
|
cfg.HIC_ShopifySync__Private_Key_Password__c = 'testpass';
|
|
cfg.HIC_ShopifySync__Opportunity__c = true;
|
|
cfg.HIC_ShopifySync__Order__c = true;
|
|
cfg.HIC_ShopifySync__Order_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Opportunity_Line_Item__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Draft_Order__c = false;
|
|
cfg.HIC_ShopifySync__Enable_Opportunity_for_SDO__c = false;
|
|
cfg.HIC_ShopifySync__Draft_Order_Sync__c = false;
|
|
cfg.HIC_ShopifySync__Collection__c = false;
|
|
cfg.HIC_ShopifySync__Inventory_Location__c = false;
|
|
cfg.HIC_ShopifySync__Person_Account__c = true; // Person Account path
|
|
configuration.add(cfg);
|
|
insert configuration;
|
|
|
|
Test.startTest();
|
|
FetchOrders batch = new FetchOrders('', true, true, configuration, '123', '', '');
|
|
Database.executeBatch(batch, 1);
|
|
Test.stopTest();
|
|
|
|
system.assertNotEquals(null, batch);
|
|
}
|
|
} |