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

64 lines
2.2 KiB
OpenEdge ABL

@isTest
private class RefreshTokenKeepAliveTest {
private class TokenRefreshMock implements HttpCalloutMock {
Integer status;
String body;
TokenRefreshMock(Integer status, String body) {
this.status = status;
this.body = body;
}
public HTTPResponse respond(HTTPRequest req) {
HttpResponse res = new HttpResponse();
res.setHeader('Content-Type', 'application/json');
res.setBody(body);
res.setStatusCode(status);
return res;
}
}
private static HIC_ShopifySync__Configuration__c seedConfig() {
HIC_ShopifySync__Configuration__c c = new HIC_ShopifySync__Configuration__c(
Name = 'Default',
HIC_ShopifySync__ClientId__c = 'test_client_id',
HIC_ShopifySync__ClientSecret__c = 'test_client_secret',
HIC_ShopifySync__Access_Token__c = 'old_access',
HIC_ShopifySync__Refresh_Token__c = 'old_refresh'
);
insert c;
return c;
}
@isTest
static void execute_doesNotThrow() {
seedConfig();
Test.setMock(HttpCalloutMock.class, new TokenRefreshMock(200,
'{"access_token":"new_access","refresh_token":"new_refresh"}'));
Test.startTest();
new RefreshTokenKeepAlive().execute(null);
Test.stopTest();
}
@isTest
static void refreshNow_withNoConfig_doesNothing() {
Test.startTest();
RefreshTokenKeepAlive.refreshNow();
Test.stopTest();
}
@isTest
static void refreshNow_withBlankRefreshToken_doesNothing() {
HIC_ShopifySync__Configuration__c c = new HIC_ShopifySync__Configuration__c(
Name = 'Default',
HIC_ShopifySync__ClientId__c = 'cid',
HIC_ShopifySync__ClientSecret__c = 'csec'
);
insert c;
Test.startTest();
RefreshTokenKeepAlive.refreshNow();
Test.stopTest();
HIC_ShopifySync__Configuration__c after = [SELECT HIC_ShopifySync__Refresh_Token__c FROM HIC_ShopifySync__Configuration__c WHERE Name = 'Default'];
System.assertEquals(null, after.HIC_ShopifySync__Refresh_Token__c);
}
}