I have a global class with a static method which makes post callout and I want to use Stub API
, but I don't get how to do it when a method is static. I understand what to do inside mock classes, but I don't know how to call them. Here is my code:
global with sharing class UsersHelper {
global static String getAdminUser() {
//callout
return string;
}
}
@isTest
public class MockProvider implements System.StubProvider {
public Object handleMethodCall(Object stubbedObject, String stubbedMethodName,
Type returnType, List<Type> listOfParamTypes, List<String> listOfParamNames,
List<Object> listOfArgs) {
System.debug(stubbedMethodName);
System.debug(stubbedObject);
if (stubbedMethodName == 'getAdminUser') {
//set response, etc
return adminUser;
}
else
return null;
}
}
public class MockUtil {
private MockUtil(){}
public static MockProvider getInstance() {
return new MockProvider();
}
public static Object createMock(Type typeToMock) {
return Test.createStub(typeToMock, MockUtil.getInstance());
}
}