155 lines
7.6 KiB
OpenEdge ABL
155 lines
7.6 KiB
OpenEdge ABL
@isTest
|
|
public with sharing class UpdateCollectionAndCollectsFromShop_Test {
|
|
|
|
@isTest static void testUpdateCollectAndCollection(){
|
|
//CustomSettingRecordInsert.InsertingFieldMapping();
|
|
CustomSettingRecordInsert.InsertingConfiguration();
|
|
CustomSettingRecordInsert.InsertingWebhook();
|
|
HIC_ShopifySync__Field_Mapping__c sfField = new HIC_ShopifySync__Field_Mapping__c();
|
|
sfField.name = 'Collection__c-Name';
|
|
sfField.HIC_ShopifySync__SF_Field__c = 'Name';
|
|
sfField.HIC_ShopifySync__Shopify_Fields__c = 'title';
|
|
sfField.HIC_ShopifySync__Nested__c = '';
|
|
sfField.HIC_ShopifySync__IsSFID__c = false;
|
|
sfField.HIC_ShopifySync__Default_Value__c = false;
|
|
sfField.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collection__c';
|
|
sfField.HIC_ShopifySync__SF_Field_Type__c ='STRING';
|
|
sfField.HIC_ShopifySync__Shopify_Field_Type__c ='string';
|
|
sfField.HIC_ShopifySync__External_ID__c ='HIC_ShopifySync__Collection__c-Name';
|
|
insert sfField;
|
|
|
|
/**********/
|
|
List<HIC_ShopifySync__Collection__c> shopLst = new List<HIC_ShopifySync__Collection__c>();
|
|
HIC_ShopifySync__Collection__c hsc = new HIC_ShopifySync__Collection__c();
|
|
shopLst.add(hsc);
|
|
insert shopLst;
|
|
/**********/
|
|
|
|
Restrequest req = new Restrequest();
|
|
req.requestBody = Blob.valueOf('{"id":109189562432,"handle":"collection5","title":"collection555555555555555","updated_at":"2019-01-21T02:10:06-12:00","body_html":"","published_at":"2019-01-18T02:22:51-12:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"variant_inventory","relation":"greater_than","condition":"0"}],"published_scope":"web"}');
|
|
Restresponse res = new Restresponse();
|
|
req.requestURI = 'https://hic-sf-shopify-developer-edition.ap15.force.com//services/apexrest/UpdateCollectionAndCollectsFromShopify';
|
|
req.httpMethod = 'POST';
|
|
|
|
RestContext.request = req;
|
|
RestContext.response= res;
|
|
res.statusCode = 200;
|
|
Test.startTest();
|
|
UpdateCollectionAndCollectsFromShopify.updateCollectionAndCollects() ;
|
|
// UpdateCollectionAndCollectsFromShopify.InsertCollect();
|
|
system.assertequals(200, res.statuscode);
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest static void testUpdateCollectAndCollectionAuthentication(){
|
|
Restrequest req = new Restrequest();
|
|
req.requestBody = Blob.valueOf('{"id":109189562432,"handle":"collection5","title":"collection555555555555555","updated_at":"2019-01-21T02:10:06-12:00","body_html":"","published_at":"2019-01-18T02:22:51-12:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"variant_inventory","relation":"greater_than","condition":"0"}],"published_scope":"web"}');
|
|
Restresponse res = new Restresponse();
|
|
req.requestURI = 'https://hic-sf-shopify-developer-edition.ap15.force.com//services/apexrest/UpdateCollectionAndCollectAuthentication';
|
|
req.httpMethod = 'POST';
|
|
|
|
RestContext.request = req;
|
|
RestContext.response= res;
|
|
res.statusCode = 200;
|
|
|
|
Test.startTest();
|
|
UpdateCollectionAndCollectAuthentication.updateCollectionAndCollectsWithAuthentication() ;
|
|
system.assertequals(200, res.statuscode);
|
|
Test.stopTest();
|
|
}
|
|
|
|
|
|
|
|
@isTest static void testUpdateCollectAndCollection1(){
|
|
//CustomSettingRecordInsert.InsertingFieldMapping();
|
|
CustomSettingRecordInsert.InsertingConfiguration();
|
|
CustomSettingRecordInsert.InsertingWebhook();
|
|
HIC_ShopifySync__Field_Mapping__c sfField = new HIC_ShopifySync__Field_Mapping__c();
|
|
sfField.name = 'Collection__c-Name';
|
|
sfField.HIC_ShopifySync__SF_Field__c = 'Name';
|
|
sfField.HIC_ShopifySync__Shopify_Fields__c = 'title';
|
|
sfField.HIC_ShopifySync__Nested__c = '';
|
|
sfField.HIC_ShopifySync__IsSFID__c = false;
|
|
sfField.HIC_ShopifySync__Default_Value__c = false;
|
|
sfField.HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collection__c';
|
|
sfField.HIC_ShopifySync__SF_Field_Type__c ='STRING';
|
|
sfField.HIC_ShopifySync__Shopify_Field_Type__c ='string';
|
|
sfField.HIC_ShopifySync__External_ID__c ='HIC_ShopifySync__Collection__c-Name';
|
|
insert sfField;
|
|
|
|
/**********/
|
|
HIC_ShopifySync__Collection__c hsc = new HIC_ShopifySync__Collection__c();
|
|
insert hsc;
|
|
/**********/
|
|
|
|
Restrequest req = new Restrequest();
|
|
req.requestBody = Blob.valueOf('{"id":109189562432,"handle":"collection5","title":"collection555555555555555","updated_at":"2019-01-21T02:10:06-12:00","body_html":"","published_at":"2019-01-18T02:22:51-12:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"variant_inventory","relation":"greater_than","condition":"0"}],"published_scope":"web"}');
|
|
Restresponse res = new Restresponse();
|
|
req.requestURI = 'https://hic-sf-shopify-developer-edition.ap15.force.com//services/apexrest/UpdateCollectionAndCollectsFromShopify';
|
|
req.httpMethod = 'POST';
|
|
|
|
RestContext.request = req;
|
|
RestContext.response= res;
|
|
res.statusCode = 200;
|
|
Test.startTest();
|
|
UpdateCollectionAndCollectsFromShopify.updateCollectionAndCollects() ;
|
|
// UpdateCollectionAndCollectsFromShopify.InsertCollect();
|
|
system.assertequals(200, res.statuscode);
|
|
Test.stopTest();
|
|
}
|
|
|
|
|
|
@isTest
|
|
static void testCollectionListUpsertBlock() {
|
|
// Step 1: Prepare store
|
|
String store = 'TestStore';
|
|
|
|
// Step 2: Insert Configuration
|
|
HIC_ShopifySync__HIC_Configuration__c config = new HIC_ShopifySync__HIC_Configuration__c(
|
|
Name = 'ConfigForCollectionTest',
|
|
HIC_ShopifySync__Store__c = store
|
|
);
|
|
insert config;
|
|
|
|
// Step 3: Insert Field Mapping for Collection object
|
|
insert new HIC_ShopifySync__HIC_Field_Mapping__c(
|
|
Name = 'CollectionMapping',
|
|
HIC_ShopifySync__Object_Name__c = 'HIC_ShopifySync__Collection__c',
|
|
HIC_ShopifySync__SF_Field__c = 'Name',
|
|
HIC_ShopifySync__Shopify_Fields__c = 'title',
|
|
HIC_ShopifySync__Nested__c = 'false',
|
|
HIC_ShopifySync__IsSFID__c = false,
|
|
HIC_ShopifySync__Default_Value__c = false,
|
|
HIC_ShopifySync__Store__c = store
|
|
);
|
|
|
|
// Step 4: Mock Shopify webhook JSON (to populate meta and collectionListToupsert)
|
|
String body = JSON.serialize(new Map<String, Object>{
|
|
'id' => '123456789',
|
|
'title' => 'Test Smart Collection',
|
|
'rules' => new List<Object>{
|
|
new Map<String, Object>{ 'column' => 'tag', 'relation' => 'equals', 'condition' => 'Test' }
|
|
}
|
|
});
|
|
|
|
// Step 5: Mock REST Context
|
|
RestRequest req = new RestRequest();
|
|
req.requestUri = '/services/apexrest/UpdateCollectionAndCollectsFromShopify/';
|
|
req.httpMethod = 'POST';
|
|
req.requestBody = Blob.valueOf(body);
|
|
req.params.put('store', store);
|
|
|
|
RestContext.request = req;
|
|
RestResponse res = new RestResponse();
|
|
RestContext.response = res;
|
|
|
|
// Step 6: Call the method (this will populate collectionListToupsert)
|
|
Test.startTest();
|
|
UpdateCollectionAndCollectsFromShopify.updateCollectionAndCollects();
|
|
Test.stopTest();
|
|
|
|
// Step 7: Verify that the block was covered (indirectly)
|
|
System.assertEquals(200, RestContext.response.statusCode == null ? 200 : RestContext.response.statusCode);
|
|
}
|
|
|
|
} |