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

904 lines
51 KiB
OpenEdge ABL

@isTest
public with sharing class HIC_ShopifyUtilityTest {
@TestSetup public static void InsertData(){
Insert new HIC_ShopifySync__Collection__c(Name='Inserted Collection23', HIC_ShopifySync__Shopify_Id__c = '100793057344');
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__Store__c = '123';
ConList.add(con);
insert ConList;
}
@isTest public static void TestShopifyCOnfigurationResultTemplate(){
Document d = new Document();
d.Name = 'Facebook';
d.FolderId = '00l2v000002Tek4AAC';
insert d;
Document d1 = new Document();
d1.Name = 'Instagram';
d1.FolderId = '00l2v000002Tek4AAC';
insert d1;
Document d2 = new Document();
d2.Name = 'Twitter';
d2.FolderId = '00l2v000002Tek4AAC';
insert d2;
Document d4 = new Document();
d4.Name = 'Linkedin';
d4.FolderId = '00l2v000002Tek4AAC';
insert d4;
Document d5 = new Document();
d5.Name = 'HIC_ShopifySyncFacebookIcon';
d5.FolderId = '00l2v000002Tek4AAC';
insert d5;
Document d3 = new Document();
d3.Name = 'HIC_ShopifySyncRedHeart';
d3.FolderId = '00l2v000002Tek4AAC';
insert d3;
Document d6 = new Document();
d6.Name = 'HIC_ShopifySyncInstaIcon';
d6.FolderId = '00l2v000002Tek4AAC';
insert d6;
Document d7 = new Document();
d7.Name = 'HIC_ShopifySyncLinkedInIcon';
d7.FolderId = '00l2v000002Tek4AAC';
insert d7;
Document d8 = new Document();
d8.Name = 'HIC_ShopifySyncLogo';
d8.FolderId = '00l2v000002Tek4AAC';
insert d8;
Document d9 = new Document();
d9.Name = 'HIC_ShopifySyncTwitterIcon';
d9.FolderId = '00l2v000002Tek4AAC';
insert d9;
Document d10 = new Document();
d10.Name = 'AppWriteReviewURL';
d10.FolderId = '00l2v000002Tek4AAC';
insert d10;
ShopifyConfigurationResultTemplate_Ctrl page = new ShopifyConfigurationResultTemplate_Ctrl();
System.assert(true,true);
}
static testmethod void SetuptHicShopify_Utility() {
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
List<RecordType> recordTypeList = new List<RecordType>();
Id accountId;
recordTypeList = [Select id from RecordType where SObjectType = 'Account' limit 1];
if(!recordTypeList.isEmpty())
accountId = recordTypeList[0].Id;
List<HIC_ShopifySync__HIC_Field_Mapping__c> fmList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
HIC_ShopifySync__HIC_Field_Mapping__c fmRecord = new HIC_ShopifySync__HIC_Field_Mapping__c();
fmRecord.Name = 'Account-RecordTypeId';
fmRecord.HIC_ShopifySync__SF_Field__c = 'RecordTypeId';
fmRecord.HIC_ShopifySync__Shopify_Field_Type__c = 'string';
fmRecord.HIC_ShopifySync__Object_Name__c = 'Account';
fmRecord.HIC_ShopifySync__External_ID__c = 'Account-RecordTypeId';
fmRecord.HIC_ShopifySync__Store__c = '123';
if(accountID <> null)
fmRecord.HIC_ShopifySync__Shopify_Fields__c = accountId;
fmList.add(fmRecord);
List<RecordType> orderIdList = [Select id from RecordType where SObjectType = 'Order' limit 1];
Id orderId;
if(!orderIdList.isEmpty())
orderId = orderIdList[0].Id;
HIC_ShopifySync__HIC_Field_Mapping__c fmRecord1 = new HIC_ShopifySync__HIC_Field_Mapping__c();
fmRecord1.Name = 'Order-RecordTypeId';
fmRecord1.HIC_ShopifySync__SF_Field__c = 'RecordTypeId';
fmRecord1.HIC_ShopifySync__Shopify_Field_Type__c = 'string';
fmRecord1.HIC_ShopifySync__Object_Name__c = 'Order';
fmRecord1.HIC_ShopifySync__External_ID__c = 'Order-RecordTypeId';
fmRecord1.HIC_ShopifySync__Store__c = '123';
if(orderId <> null)
fmRecord1.HIC_ShopifySync__Shopify_Fields__c = orderId;
fmList.add(fmRecord1);
List<RecordType> contactIdList = [Select id from RecordType where SObjectType = 'Contact' limit 1];
Id contactId;
if(!contactIdList.isEmpty())
contactId = contactIdList[0].Id;
HIC_ShopifySync__HIC_Field_Mapping__c fmRecord2 = new HIC_ShopifySync__HIC_Field_Mapping__c();
fmRecord2.Name = 'Contact-RecordTypeId';
fmRecord2.HIC_ShopifySync__SF_Field__c = 'RecordTypeId';
fmRecord2.HIC_ShopifySync__Shopify_Field_Type__c = 'string';
fmRecord2.HIC_ShopifySync__Object_Name__c = 'Contact';
fmRecord2.HIC_ShopifySync__External_ID__c = 'Contact-Accountid';
fmRecord2.HIC_ShopifySync__Store__c = '123';
if(contactId <> null)
fmRecord2.HIC_ShopifySync__Shopify_Fields__c = contactId;
fmList.add(fmRecord2);
system.debug('fmList'+fmList);
HIC_ShopifySync__HIC_Field_Mapping__c fmRecord11 = new HIC_ShopifySync__HIC_Field_Mapping__c();
fmRecord11.Name = 'Order-name';
fmRecord11.HIC_ShopifySync__SF_Field__c = 'name';
fmRecord11.HIC_ShopifySync__Shopify_Field_Type__c = 'string';
fmRecord11.HIC_ShopifySync__Object_Name__c = 'OrderItem';
fmRecord11.HIC_ShopifySync__External_ID__c = 'Order-name';
fmRecord11.HIC_ShopifySync__Store__c = '123';
fmList.add(fmRecord11);
insert fmList;
HIC_ShopifyUtility.getShopifyFields('Account');
HIC_ShopifyUtility.getDefaultFieldMapping('Order',true);
HIC_ShopifyUtility.getDefaultFieldMapping('Order',true,'123');
HIC_ShopifyUtility.getDefaultFieldMapping('Order',false);
HIC_ShopifyUtility.getDefaultFieldMapping('Order',false,'123');
system.assertEquals(200, res.getStatusCode());
}
@isTest public static void TestHicShopify_Utility(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
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),'',false,true,'REFERENCE','Reference',string.valueOf(priceBookId)));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','',true,false,'PICKLIST','string',''));
}
insert fieldMapList;
CustomSettingRecordInsert.InsertingWebhook();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseGenerator());
String shopifyUrlWithId = ' "https://patchtesting.myshopify.com"';
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__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 = 2;
con.HIC_ShopifySync__Store__c = '123';
ConList.add(con);
insert ConList;
String result = HIC_ShopifyUtility.fetchAllDataWithLinkForNextPage(shopifyUrlWithId, ConList);
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.FetchOrderAndOpportunity(ConList,'123');
HIC_ShopifyUtility.fetchAllDataUsingId('custom_collections',ConList);
HIC_ShopifyUtility.fetchAllDataWithLinkForNextPage('custom_collections',ConList);
HIC_ShopifyUtility.getPageInfo('<https://madeeasy334.myshopify.com/admin/products.json?limit=2&fields=id&page_info=eyJkaXJlY3Rpb24iOiJwcmV2IiwibGFzdF9pZCI6NTUyMjY3OTEzNjQxMCwibGFzdF92YWx1ZSI6IlRlc3QgMiJ9>; rel="previous", <https://madeeasy334.myshopify.com/admin/products.json?limit=2&fields=id&page_info=eyJkaXJlY3Rpb24iOiJuZXh0IiwibGFzdF9pZCI6NTUyMjY4MDUxMjY2NiwibGFzdF92YWx1ZSI6IlRlc3QgMyJ9>; rel="next"');
HIC_ShopifyUtility.getPageInfo('<https://madeeasy334.myshopify.com/admin/products.json?limit=2&fields=id&page_info=eyJkaXJlY3Rpb24iOiJuZXh0IiwibGFzdF9pZCI6NTUyMjY4MDUxMjY2NiwibGFzdF92YWx1ZSI6IlRlc3QgMyJ9>; rel="next"');
HIC_ShopifyUtility.getPageInfo('<https://madeeasy334.myshopify.com/admin/products.json?limit=2&fields=id&page_info=eyJkaXJlY3Rpb24iOiJuZXh0IiwibGFzdF9pZCI6NTUyMjY4MDUxMjY2NiwibGFzdF92YWx1ZSI6IlRlc3QgMyJ9>; rel="next",<https://madeeasy334.myshopify.com/admin/products.json?limit=2&fields=id&page_info=eyJkaXJlY3Rpb24iOiJwcmV2IiwibGFzdF9pZCI6NTUyMjY3OTEzNjQxMCwibGFzdF92YWx1ZSI6IlRlc3QgMiJ9>; rel="previous"');
}
private class MockHttpResponseGenerator implements HttpCalloutMock {
public HTTPResponse respond(HTTPRequest req) {
HTTPResponse res = new HTTPResponse();
res.setBody('{"X-Shopify-Access-Token":PASSWORD}');
res.setStatusCode(200);
return res;
}
}
// ✅ Mock for Shopify callout
private class ShopifyCustomerMock implements HttpCalloutMock {
public HTTPResponse respond(HTTPRequest req) {
System.assert(req.getEndpoint().contains('/customers/')); // safety check
// Simulated Shopify customer JSON
String responseBody = '{"customer":{"id": "12345", "orders_count": 2, "email":"abc@test.com"}}';
HttpResponse res = new HttpResponse();
res.setStatusCode(200);
res.setBody(responseBody);
return res;
}
}
// ✅ Mock to simulate when Shopify returns zero orders
private class ShopifyCustomerZeroMock implements HttpCalloutMock {
public HTTPResponse respond(HTTPRequest req) {
String responseBody = '{"customer":{"id": "12345", "orders_count": 0, "email":"abc@test.com"}}';
HttpResponse res = new HttpResponse();
res.setStatusCode(200);
res.setBody(responseBody);
return res;
}
}
@IsTest
static void testFetchCustomerJob_withOrders() {
// Prepare config record
HIC_ShopifySync__HIC_Configuration__c config = new HIC_ShopifySync__HIC_Configuration__c(
Name = 'TestStore',
HIC_ShopifySync__Shopify_URL__c = 'https://testshop.myshopify.com',
HIC_ShopifySync__Private_Key_Password__c = 'fake_token'
);
insert config;
// Mock HTTP response
Test.setMock(HttpCalloutMock.class, new ShopifyCustomerMock());
// Prepare test data
String store = 'TestStore';
String customerId = '12345';
String payload = '{"id":"12345"}';
// Enqueue job
Test.startTest();
System.enqueueJob(new HIC_ShopifyUtility.FetchCustomerJob(config.Id, customerId, store, payload));
Test.stopTest();
// No asserts needed for Queueable chaining, but verify callout was successful
//System.assertEquals(1, [SELECT COUNT() FROM AsyncApexJob WHERE JobType = 'Queueable'], 'Queue job should be queued.');
}
@IsTest
static void testFetchCustomerJob_zeroOrders() {
// Prepare config record
HIC_ShopifySync__HIC_Configuration__c config = new HIC_ShopifySync__HIC_Configuration__c(
Name = 'ZeroOrderStore',
HIC_ShopifySync__Shopify_URL__c = 'https://zero.myshopify.com',
HIC_ShopifySync__Private_Key_Password__c = 'fake_token'
);
insert config;
// Mock HTTP response with zero orders
Test.setMock(HttpCalloutMock.class, new ShopifyCustomerZeroMock());
String store = 'ZeroOrderStore';
String customerId = '999';
String payload = '{"id":"999"}';
Test.startTest();
System.enqueueJob(new HIC_ShopifyUtility.FetchCustomerJob(config.Id, customerId, store, payload));
Test.stopTest();
// You can add asserts/log checks if createLead should trigger
//System.assertEquals(1, [SELECT COUNT() FROM AsyncApexJob WHERE JobType = 'Queueable'], 'Queue job should be queued.');
}
@isTest public static void TestHicShopify_Utility2(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
Id priceBookId = Test.getStandardPricebookId();
Product2 p = new product2(name='x',HIC_ShopifySync__Shopify_Id__c = '1798809452608');
insert p;
//define the standart price for the product
system.debug('priceBookId++++'+priceBookId);
sObject pbe = Schema.getGlobalDescribe().get('PricebookEntry').newSObject() ;
pbe.put('pricebook2id',priceBookId);
pbe.put('product2id',p.Id);
pbe.put('unitprice',1.0);
pbe.put('isActive',true);
//pbe.put('currencyIsoCode','USD');
insert pbe;
if(priceBookId != null){
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','Pricebook2Id',string.valueOf(priceBookId),'billing_address',false,true,'REFERENCE','Reference',string.valueOf(priceBookId)));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','billing_address',false,false,'PICKLIST','string',''));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('OrderItem','UnitPrice','price','CURRENCY','number',''));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingLatitude','latitude','billing_address','DOUBLE','string','latitude'));//NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingStreet','address1,address2','billing_address','DOUBLE','string','address1,address2'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','Accountid','id','customer','Reference','string','id'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','ShippingState','address1,address2','','DOUBLE','string','address1,address2'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','IsReductionOrder','buyer_accepts_marketing','','Boolean','Boolean','buyer_accepts_marketing'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','CompanyAuthorizedDate','processed_at','','DateTime','DateTime','processedAt'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('Order','EffectiveDate','processed_at','DATE','DateTime','processedAt'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','HIC_ShopifySync__Shopify_Id__c','latitude','','reference','string',''));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('Order','OpportunityId','id','REFERENCE','Reference','id'));
}
insert fieldMapList;
CustomSettingRecordInsert.InsertingWebhook();
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__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 = 2;
con.HIC_ShopifySync__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.FetchOrderAndOpportunity(ConList,'123');
HIC_ShopifyUtility.fetchAllDataUsingId('custom_collections',ConList);
}
@isTest public static void TestHicShopify_Utility1(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
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)));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','',true,false,'PICKLIST','string',''));
}
insert fieldMapList;
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
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__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__Store__c = '123';
ConList.add(con);
insert ConList;
HIC_ShopifyUtility.fetchDraftOrders(ConList,'123');
//HIC_ShopifyUtility.fetchOrders(ConList,'123');
}
@isTest public static void TestgetNoOfRecordsFromShopify(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.getNoOfRecordsFromShopify('products',ConList);
}
@isTest public static void TestfetchCustomer1(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Default_Account__c = true;
con.HIC_ShopifySync__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.fetchCustomer(ConList,'123');
}
@isTest public static void TestfetchProducts(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.fetchProducts(ConList,'123');
}
@isTest public static void TestfetchLocations(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.fetchLocations(ConList,'123');
}
@isTest public static void TestprocessCollections(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.processCollections(ConList,'123');
}
@isTest public static void TestfetchAllData(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
HIC_ShopifyUtility.fetchAllData('custom_collections',ConList);
}
@isTest public static void TestInsertProduct(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
Map <String, Object> oProdmap = new Map <String, Object>();
Map<String, Map <String, Object>> oPProdmap = new Map<String, Map <String, Object>>();
oProdmap.put('vendor','SyncMyStore2');
oProdmap.put('name','SyncMyStore1223');
oProdmap.put('Id','2053670240356');
oProdmap.put('title','Jackets');
oProdmap.put('published_scope','web');
oPProdmap.put('2053670240356',oProdmap);
List<HIC_ShopifySync__HIC_Configuration__c> ConList1 = new List<HIC_ShopifySync__HIC_Configuration__c>();
HIC_ShopifySync__HIC_Configuration__c conn = new HIC_ShopifySync__HIC_Configuration__c();
conn.name = 'Default';
conn.HIC_ShopifySync__Private_Key_Password__c = '0000000000000000True';
conn.HIC_ShopifySync__Opportunity__c = True;
conn.HIC_ShopifySync__Order__c = true;
conn.HIC_ShopifySync__Opportunity_Line_Item__c = True;
conn.HIC_ShopifySync__Order_Line_Item__c = True;
con.HIC_ShopifySync__Store__c = '123';
ConList1.add(conn);
insert ConList1;
Product2 proObj = new Product2(name='test HIC_ShopifySync__Shopify_Id__c');
proObj.HIC_ShopifySync__Shopify_Id__c = '2053670240356';
// proObj.HIC_ShopifySync__Shopify_Id__c = conn.id;
insert proObj;
HIC_ShopifyUtility.InsertProduct(oPProdmap,ConList,false,'123');
Product2 proObj1 = new Product2(name='test HIC_ShopifySync__Shopify_');
//proObj.HIC_ShopifySync__Shopify_Id__c = '2053670240356';
proObj1.HIC_ShopifySync__Shopify_Id__c = conn.id;
insert proObj1;
HIC_ShopifyUtility.InsertProduct(oPProdmap,ConList,true,'123');
}
@isTest
public static void call(){
boolean asserBool = true;
CustomSettingRecordInsert.InsertingConfiguration();
HIC_ShopifySync__HIC_Field_Mapping__c HIC_ShopifySync = new HIC_ShopifySync__HIC_Field_Mapping__c(name='HIC_ShopifySync__Field_Mapping');
Contact con = new Contact(firstname='first name', lastname = 'last name');
con.HIC_ShopifySync__Shopify_Id__c = '123456';
con.HIC_ShopifySync__Store__c = '123';
insert con;
List<HIC_ShopifySync__HIC_Configuration__c > configurationList = new List<HIC_ShopifySync__HIC_Configuration__c >();
String queryConfiguration = 'Select '+CheckAccessibility.isAccessible('name,HIC_ShopifySync__Default_Field_Mapping__c, HIC_ShopifySync__Shopify_URL__c,HIC_ShopifySync__Specify_Close_Date__c, HIC_ShopifySync__API_Key__c, HIC_ShopifySync__Private_Key_Password__c, HIC_ShopifySync__Opportunity__c, HIC_ShopifySync__Order__c, HIC_ShopifySync__Opportunity_Line_Item__c, HIC_ShopifySync__Order_Line_Item__c, HIC_ShopifySync__Order_Fulfillment__c, HIC_ShopifySync__Person_Account__c ','HIC_ShopifySync__HIC_Configuration__c')+' from HIC_ShopifySync__HIC_Configuration__c where '+CheckAccessibility.isAccessible('name','HIC_ShopifySync__HIC_Configuration__c') +' = \'Default\' limit 1';
configurationList = database.query(queryConfiguration);
HIC_ShopifyUtility.fetchAllData('Account',configurationList);
HIC_ShopifyUtility.getNoOfRecordsFromShopify('Account',configurationList);
HIC_ShopifyUtility.fetchAllDataUsingId('Account',configurationList);
list<SObject> listObject = new list<SObject>();
String orderJson = '[{ "id": 1314006663277, "email": "", "closed_at": null, "created_at": "2019-07-25T03:55:36-04:00", "updated_at": "2019-07-25T03:55:37-04:00", "number": 1, "note": "", "token": "66126433dfba1ee5458a7d8109fc39ab", "gateway": "manual", "test": false, "total_price": "20.00", "subtotal_price": "20.00", "total_weight": 0, "total_tax": "0.00", "taxes_included": false, "currency": "KYD", "financial_status": "paid", "confirmed": true, "total_discounts": "0.00", "total_line_items_price": "20.00", "cart_token": null, "buyer_accepts_marketing": false, "name": "#1001", "referring_site": null, "landing_site": null, "cancelled_at": null, "cancel_reason": null, "total_price_usd": "24.39", "checkout_token": null, "reference": null, "user_id": 36034510957, "location_id": 31541231725, "source_identifier": null, "source_url": null, "processed_at": "2019-07-25T03:55:36-04:00", "device_id": null, "phone": null, "customer_locale": null, "app_id": 1354745, "browser_ip": null, "landing_site_ref": null, "order_number": 1001, "discount_applications": [], "fulfillments": [{ "user_id": 36034510957, "location_id": 31541231725, "source_identifier": null, "source_url": null, "processed_at": "2019-07-25T03:55:36-04:00", "device_id": null, "phone": null, "customer_locale": null, "app_id": 1354745, "browser_ip": null }]}]';
//listObject.add(acc);
//listObject.add(con);
//insert listObject;
List<Object> listObject2 = (List<Object>)Json.deserializeuntyped(orderJson);
Map<String,String> productVsPricebookEntryMap = new Map<String,String>();
Map<String,String> productVsUnitePriceMap = new Map<String,String>();
Id priceBookId = Test.getStandardPricebookId();
Product2 product = new product2(name='x',HIC_ShopifySync__Shopify_Id__c = '1798809452608');
insert product;
PricebookEntry pricebookentry = new PricebookEntry();
pricebookentry.Pricebook2Id = priceBookId;
pricebookentry.Product2Id = product.id;
pricebookentry.UnitPrice = 10;
insert pricebookentry;
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','billing_address',false,false,'PICKLIST','string',''));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('OrderItem','UnitPrice','price','CURRENCY','number',''));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingLatitude','latitude','billing_address','DOUBLE','string','latitude'));//NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingStreet','address1,address2','billing_address','DOUBLE','string','address1,address2'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','Accountid','id','customer','Reference','string','id'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','ShippingState','address1,address2','','DOUBLE','string','address1,address2'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','IsReductionOrder','buyer_accepts_marketing','','Boolean','Boolean','buyer_accepts_marketing'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','CompanyAuthorizedDate','processed_at','','DateTime','DateTime','processed_at'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('Order','EffectiveDate','processed_at','DATE','DateTime','processed_at'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','HIC_ShopifySync__Shopify_Id__c','latitude','','reference','string','id'));
insert fieldMapList;
Map<String, Map <String, Object>> oProdMap = new Map<String, Map <String, Object>>();
Map<String , Object> objectMap = new Map<String , Object>();
Map<String,String> ShopifyidvsAccountid = new Map<String,String>();
HIC_ShopifyUtility.processSobjectList(fieldMapList,listObject,'Account','id',configurationList,true,'123');
Schema.DescribeFieldResult dfr = Opportunity.Description.getDescribe();
Schema.DescribeFieldResult dfr1 = Account.name.getDescribe();
HIC_ShopifyUtility.upsertSobjectList('[{"id":123456}]',listObject,'Account','id',configurationList,true,'123');
HIC_ShopifyUtility.processCollections(configurationList,'123');
HIC_ShopifyUtility.fetchCustomer(configurationList,'123');
HIC_ShopifyUtility.fetchOrderAndOpportunity(configurationList,'123');
HIC_ShopifyUtility.fetchDraftOrders(configurationList,'123');
//HIC_ShopifyUtility.fetchOrders(configurationList,'123');
HIC_ShopifyUtility.insertOrderfulfillments(listObject2, configurationList,true,'123');
HIC_ShopifyUtility.fetchProducts(configurationList,'123');
HIC_ShopifyUtility.fetchLocations(configurationList,'123');
HIC_ShopifyUtility.checkFieldLengthAndReturnValue(dfr, 'hello' ,configurationList);
//HIC_ShopifyUtility.processFieldTypeAndMapping(fieldMapList, 'Opportunity' , objectMap , configurationList );
Map<String, Schema.SObjectField> fieldMapForOrderProduct = Schema.SObjectType.account.fields.getMap();
HIC_ShopifyUtility.InitializeAccount(ShopifyidvsAccountid, 'con', false ,configurationList );
HIC_ShopifyUtility.InsertProduct(oProdMap, configurationList,true,'123');
System.assert(asserBool);
}
@isTest public static void TestInsertProduct1(){
Test.startTest();
Test.setMock(HttpCalloutMock.class, new MockHttpResponseHIC_ShopifyUtility());
HttpResponse res = CalloutClassforHIC_ShopifyUtility.getInfoFromExternalService();
Test.stopTest();
// CustomSettingRecordInsert.InsertingFieldMapping();
// CustomSettingRecordInsert.InsertingConfiguration();
CustomSettingRecordInsert.InsertingWebhook();
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__Store__c = '123';
ConList.add(con);
insert ConList;
system.assertEquals(200, res.getStatusCode());
Map <String, Object> oProdmap = new Map <String, Object>();
Map<String, Map <String, Object>> oPProdmap = new Map<String, Map <String, Object>>();
oProdmap.put('vendor','SyncMyStore2');
oProdmap.put('name','SyncMyStore1223');
oProdmap.put('Id','2053670240356');
oProdmap.put('title','Jackets');
oProdmap.put('published_scope','web');
oPProdmap.put('2053670240356',oProdmap);
List<HIC_ShopifySync__HIC_Configuration__c> ConList1 = new List<HIC_ShopifySync__HIC_Configuration__c>();
HIC_ShopifySync__HIC_Configuration__c conn = new HIC_ShopifySync__HIC_Configuration__c();
conn.name = 'Default';
conn.HIC_ShopifySync__Private_Key_Password__c = '0000000000000000True';
conn.HIC_ShopifySync__Opportunity__c = True;
conn.HIC_ShopifySync__Order__c = true;
conn.HIC_ShopifySync__Opportunity_Line_Item__c = True;
conn.HIC_ShopifySync__Order_Line_Item__c = True;
con.HIC_ShopifySync__Store__c = '123';
ConList1.add(conn);
insert ConList1;
Product2 proObj = new Product2(name='test HIC_ShopifySync__Shopify_Id__c');
//proObj.HIC_ShopifySync__Shopify_Id__c = '2053670240356';
proObj.HIC_ShopifySync__Shopify_Id__c = conn.id;
insert proObj;
HIC_ShopifyUtility.InsertProduct(oPProdmap,ConList,false,'123');
}
/* @isTest public static void call_processFieldTypeAndMapping(){
Map<String , Object> objectMap = new Map<String , Object>();
HIC_ShopifySync__HIC_Configuration__c con = new HIC_ShopifySync__HIC_Configuration__c(name='HIC_ShopifySync__HIC_Configuration__c');
List<HIC_ShopifySync__HIC_Configuration__c > configurationList = new List<HIC_ShopifySync__HIC_Configuration__c >();
configurationList.add(con);
insert configurationList;
Opportunity opp = new Opportunity();
opp.name = 'test_opp';
opp.closedate = system.today().addDays(10);
opp.StageName = 'prospecting';
insert opp;
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','billing_address',false,false,'PICKLIST','string'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('OrderItem','UnitPrice','price','CURRENCY','number'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingLatitude','latitude','billing_address','DOUBLE','string'));//NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingStreet','address1,address2','billing_address','DOUBLE','string'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','Accountid','id','customer','Reference','string'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','ShippingState','address1,address2','','DOUBLE','string'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','IsReductionOrder','buyer_accepts_marketing','','Boolean','Boolean'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','CompanyAuthorizedDate','processed_at','','DateTime','DateTime'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('Order','EffectiveDate','processed_at','DATE','DateTime'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','HIC_ShopifySync__Shopify_Id__c','latitude','','reference','string'));
insert fieldMapList;
HIC_ShopifyUtility.processFieldTypeAndMapping(fieldMapList, 'opp' , objectMap , configurationList);
}*/
@isTest
public static void call1(){
boolean asserBool = true;
CustomSettingRecordInsert.InsertingConfiguration();
HIC_ShopifySync__HIC_Field_Mapping__c HIC_ShopifySync = new HIC_ShopifySync__HIC_Field_Mapping__c(name='HIC_ShopifySync__Field_Mapping');
Contact con = new Contact(firstname='first name', lastname = 'last name');
con.HIC_ShopifySync__Shopify_Id__c = '123456';
con.HIC_ShopifySync__Store__c = '123';
insert con;
List<HIC_ShopifySync__HIC_Configuration__c > configurationList = new List<HIC_ShopifySync__HIC_Configuration__c >();
String queryConfiguration = 'Select '+CheckAccessibility.isAccessible('name,HIC_ShopifySync__Default_Field_Mapping__c, HIC_ShopifySync__Shopify_URL__c,HIC_ShopifySync__Specify_Close_Date__c, HIC_ShopifySync__API_Key__c, HIC_ShopifySync__Private_Key_Password__c, HIC_ShopifySync__Opportunity__c, HIC_ShopifySync__Order__c, HIC_ShopifySync__Opportunity_Line_Item__c, HIC_ShopifySync__Order_Line_Item__c, HIC_ShopifySync__Order_Fulfillment__c, HIC_ShopifySync__Person_Account__c ','HIC_ShopifySync__HIC_Configuration__c')+' from HIC_ShopifySync__HIC_Configuration__c where '+CheckAccessibility.isAccessible('name','HIC_ShopifySync__HIC_Configuration__c') +' = \'Default\' limit 1';
configurationList = database.query(queryConfiguration);
HIC_ShopifyUtility.fetchAllData('Account',configurationList);
HIC_ShopifyUtility.getNoOfRecordsFromShopify('Account',configurationList);
HIC_ShopifyUtility.fetchAllDataUsingId('Account',configurationList);
list<SObject> listObject = new list<SObject>();
String orderJson = '[{ "id": 1314006663277, "email": "", "closed_at": null, "created_at": "2019-07-25T03:55:36-04:00", "updated_at": "2019-07-25T03:55:37-04:00", "number": 1, "note": "", "token": "66126433dfba1ee5458a7d8109fc39ab", "gateway": "manual", "test": false, "total_price": "20.00", "subtotal_price": "20.00", "total_weight": 0, "total_tax": "0.00", "taxes_included": false, "currency": "KYD", "financial_status": "paid", "confirmed": true, "total_discounts": "0.00", "total_line_items_price": "20.00", "cart_token": null, "buyer_accepts_marketing": false, "name": "#1001", "referring_site": null, "landing_site": null, "cancelled_at": null, "cancel_reason": null, "total_price_usd": "24.39", "checkout_token": null, "reference": null, "user_id": 36034510957, "location_id": 31541231725, "source_identifier": null, "source_url": null, "processed_at": "2019-07-25T03:55:36-04:00", "device_id": null, "phone": null, "customer_locale": null, "app_id": 1354745, "browser_ip": null, "landing_site_ref": null, "order_number": 1001, "discount_applications": [], "fulfillments": [{ "user_id": 36034510957, "location_id": 31541231725, "source_identifier": null, "source_url": null, "processed_at": "2019-07-25T03:55:36-04:00", "device_id": null, "phone": null, "customer_locale": null, "app_id": 1354745, "browser_ip": null }]}]';
//listObject.add(acc);
//listObject.add(con);
//insert listObject;
List<Object> listObject2 = (List<Object>)Json.deserializeuntyped(orderJson);
Map<String,String> productVsPricebookEntryMap = new Map<String,String>();
Map<String,String> productVsUnitePriceMap = new Map<String,String>();
Id priceBookId = Test.getStandardPricebookId();
Product2 product = new product2(name='x',HIC_ShopifySync__Shopify_Id__c = '1798809452608');
insert product;
PricebookEntry pricebookentry = new PricebookEntry();
pricebookentry.Pricebook2Id = priceBookId;
pricebookentry.Product2Id = product.id;
pricebookentry.UnitPrice = 10;
insert pricebookentry;
List<HIC_ShopifySync__HIC_Field_Mapping__c> fieldMapList = new List<HIC_ShopifySync__HIC_Field_Mapping__c>();
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithAllFields('Order','CurrencyISOCODE','USD','billing_address',false,false,'PICKLIST','string',''));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('OrderItem','UnitPrice','price','CURRENCY','number',''));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingLatitude','latitude','billing_address','DOUBLE','string','latitude'));//NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','BillingStreet','address1,address2','billing_address','DOUBLE','string','address1,address2'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','Accountid','id','customer','Reference','string','id'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','ShippingState','address1,address2','','DOUBLE','string','address1,address2'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','IsReductionOrder','buyer_accepts_marketing','','Boolean','Boolean','buyer_accepts_marketing'));
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','CompanyAuthorizedDate','processed_at','','DateTime','DateTime','processed_at'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutFields('Order','EffectiveDate','processed_at','DATE','DateTime','processed_at'));// NEW
fieldMapList.add(CustomSettingRecordInsert.processFieldMappingSobjectWithoutBoolean('Order','HIC_ShopifySync__Shopify_Id__c','latitude','','reference','string','id'));
insert fieldMapList;
Map<String, Map <String, Object>> oProdMap = new Map<String, Map <String, Object>>();
Map<String , Object> objectMap = new Map<String , Object>();
Map<String,String> ShopifyidvsAccountid = new Map<String,String>();
HIC_ShopifyUtility.processSobjectList(fieldMapList,listObject,'Account','id',configurationList,true,'123');
Schema.DescribeFieldResult dfr = Opportunity.Description.getDescribe();
Schema.DescribeFieldResult dfr1 = Account.name.getDescribe();
HIC_ShopifyUtility.upsertSobjectList('[{"id":123456}]',listObject,'Account','id',configurationList,true,'123');
HIC_ShopifyUtility.processCollections(configurationList,'123');
HIC_ShopifyUtility.processCollections(configurationList,'123',' ',' ');
HIC_ShopifyUtility.fetchCustomer(configurationList,'123');
HIC_ShopifyUtility.fetchOrderAndOpportunity(configurationList,'123');
HIC_ShopifyUtility.fetchOrderAndOpportunity(configurationList,'123','','');
HIC_ShopifyUtility.fetchDraftOrders(configurationList,'123');
HIC_ShopifyUtility.fetchDraftOrders(configurationList,'123',' ',' ');
HIC_ShopifyUtility.insertOrderfulfillments(listObject2, configurationList,true,'123');
HIC_ShopifyUtility.fetchProducts(configurationList,'123');
HIC_ShopifyUtility.fetchLocations(configurationList,'123');
HIC_ShopifyUtility.checkFieldLengthAndReturnValue(dfr, 'hello' ,configurationList);
//HIC_ShopifyUtility.processFieldTypeAndMapping(fieldMapList, 'Opportunity' , objectMap , configurationList );
Map<String, Schema.SObjectField> fieldMapForOrderProduct = Schema.SObjectType.account.fields.getMap();
HIC_ShopifyUtility.InitializeAccount(ShopifyidvsAccountid, 'con', false ,configurationList );
HIC_ShopifyUtility.InsertProduct(oProdMap, configurationList,true,'123');
System.assert(asserBool);
}
}