SyncMadeEasy/force-app/main/default/classes/salesforceAuthenticationCon...

138 lines
6.2 KiB
OpenEdge ABL

@isTest
public with sharing class salesforceAuthenticationController_Test {
@testSetup
static void testData(){
HIC_ShopifySync__Configuration__c conf =new HIC_ShopifySync__Configuration__c();
conf.Name='Default';
conf.HIC_ShopifySync__Account_Contact__c = true;
conf.HIC_ShopifySync__API_Key__c = 'test';
conf.HIC_ShopifySync__Batch_Is_Processing__c = true;
conf.HIC_ShopifySync__ClientId__c = 'tsdytud';
conf.HIC_ShopifySync__ClientSecret__c = 'ddcdcd';
insert conf;
}
@isTest static void testSalesforceAuthentication(){
Organization org = new Organization();
SalesforceAuthenticationController sa = new SalesforceAuthenticationController();
sa.authenticate();
system.assert(!org.issandbox);
}
@isTest static void testSalesforceAuthentication1(){
Organization org = new Organization();
String code = ApexPages.currentPage().getParameters().get('code');
HIC_ShopifySync__Configuration__c conf = [SELECT Id, HIC_ShopifySync__Account_Contact__c, HIC_ShopifySync__API_Key__c,
HIC_ShopifySync__Batch_Is_Processing__c, HIC_ShopifySync__ClientId__c,
HIC_ShopifySync__ClientSecret__c FROM HIC_ShopifySync__Configuration__c];
Test.startTest();
// Mock the HTTP Callout
HttpResponse response = new HttpResponse();
response.setHeader('Content-Type', 'application/json');
response.setBody('{"access_token":"test_access_token","refresh_token":"test_refresh_token"}');
response.setStatusCode(200);
// Mock Parameters
ApexPages.currentPage().getParameters().put('code', 'testCode');
ApexPages.currentPage().getParameters().put('viewmode', 'testViewMode');
SalesforceAuthenticationController sa = new SalesforceAuthenticationController();
sa.authenticate();
pageReference response1 = sa.authenticateSalesforce();
pageReference response2 = sa.redirectToApp();
pageReference response3 = sa.handleAuthentication();
Test.stopTest();
system.assert(!org.issandbox);
}
@isTest static void testUpdateCredentials(){
String accessToken = 'jclfieunucnc38737583298';
String refreshToken = 'dhlbhencehlnnehjlexfxle';
HIC_ShopifySync__Configuration__c conf = [SELECT Id, HIC_ShopifySync__Account_Contact__c, HIC_ShopifySync__API_Key__c,
HIC_ShopifySync__Batch_Is_Processing__c, HIC_ShopifySync__ClientId__c,
HIC_ShopifySync__ClientSecret__c FROM HIC_ShopifySync__Configuration__c];
Test.startTest();
salesforceAuthenticationController.updateCredentials(accessToken, refreshToken);
Test.stopTest();
}
@isTest static void testMakeCallout(){
Organization org = new Organization();
system.assert(!org.issandbox);
String code = ApexPages.currentPage().getParameters().get('code');
// Expected values based on the logic
String expectedSandboxUrl = 'https://test.salesforce.com/apex/HIC_ShopifySync__SalesforceAuthentication';
String expectedProductionUrl = 'https://login.salesforce.com/apex/HIC_ShopifySync__SalesforceAuthentication';
String expectedEndPointSandbox = 'https://test.salesforce.com/services/oauth2/token';
String expectedEndPointProduction = 'https://login.salesforce.com/services/oauth2/token';
// Call the method (replace with your actual method call if applicable)
Map<String, String> headerMap = new Map<String, String>();
headerMap.put('Content-Type', 'application/x-www-form-urlencoded');
headerMap.put('Accept', 'application/json');
headerMap.put('Content-length', '307');
String body = 'grant_type=authorization_code&code=' + code + '&redirect_uri=';
String endPoint;
if (org.isSandbox) {
body += expectedSandboxUrl;
endPoint = expectedEndPointSandbox;
body += '&client_id=TestClientId&client_secret=TestClientSecret&islwcapp=true&state=testislwcapp';
} else {
body += expectedProductionUrl;
endPoint = expectedEndPointProduction;
body += '&client_id=TestClientId&client_secret=TestClientSecret&islwcapp=true&state=prodislwcapp';
}
Test.startTest();
salesforceAuthenticationController.makeCallout(body, endpoint, headerMap, 'POST');
salesforceAuthenticationController.updateAppServer();
Test.stopTest();
}
@isTest static void testSalesforceAuthentication2(){
Organization org = new Organization();
//String code = ApexPages.currentPage().getParameters().get('code');
HIC_ShopifySync__Configuration__c conf = [SELECT Id, HIC_ShopifySync__Account_Contact__c, HIC_ShopifySync__API_Key__c,
HIC_ShopifySync__Batch_Is_Processing__c, HIC_ShopifySync__ClientId__c,
HIC_ShopifySync__ClientSecret__c FROM HIC_ShopifySync__Configuration__c];
Test.startTest();
// Mock the HTTP Callout
HttpResponse response = new HttpResponse();
response.setHeader('Content-Type', 'application/json');
response.setBody('{"access_token":"test_access_token","refresh_token":"test_refresh_token"}');
response.setStatusCode(200);
// Mock Parameters
ApexPages.currentPage().getParameters().put('islwcapp', 'testlwcApp');
ApexPages.currentPage().getParameters().put('viewmode', 'testViewMode');
ApexPages.currentPage().getParameters().put('storeName', 'testStoreName');
SalesforceAuthenticationController sa = new SalesforceAuthenticationController();
sa.authenticate();
pageReference response1 = sa.authenticateSalesforce();
pageReference response2 = sa.redirectToApp();
pageReference response3 = sa.handleAuthentication();
Test.stopTest();
system.assert(!org.issandbox);
}
}