You need to sign in to do that
Don't have an account?
Sai Theja
can someone help me to cover code 100%. I'm getting 66% for my test class.
can someone help me to cover code 100%. I'm getting 66% for my test class.
Apex class:
global class ValidateBusinessHours implements Process.Plugin {
global Process.PluginResult invoke(Process.PluginRequest request) {
DateTime dt = (DateTime) request.inputParameters.get('dt');
BusinessHours bh = [SELECT Id,name FROM BusinessHours WHERE Name='Zelle Flow' limit 1];
System.debug('Business Hours:'+bh);
System.debug('Current Date Time'+dt);
System.debug('Current Date time is in Business hours::'+BusinessHours.isWithin(bh.id, dt));
Map<String,boolean> result = new Map<String,boolean>();
result.put('value',BusinessHours.isWithin(bh.id, dt));
return new Process.PluginResult(result);
}
// Returns the describe information for the interface
global Process.PluginDescribeResult describe() {
Process.PluginDescribeResult result = new Process.PluginDescribeResult();
result.Name = 'businessHoursplugin';
result.Tag = 'BusinessHours';
result.inputParameters = new
List<Process.PluginDescribeResult.InputParameter>{
new Process.PluginDescribeResult.InputParameter('dt',
Process.PluginDescribeResult.ParameterType.DateTime, true)
};
result.outputParameters = new
List<Process.PluginDescribeResult.OutputParameter>{
new Process.PluginDescribeResult.OutputParameter(
'value',
Process.PluginDescribeResult.ParameterType.boolean)
};
return result;
}
}
Test Class:
@isTest
private class ValidateBusinessHours_Test{
@testSetup
static void setupTestData(){
test.startTest();
BusinessHours businesshours_Obj = new BusinessHours(Name = 'Name220', IsActive = true, IsDefault = false, TimeZoneSidKey = 'Pacific/Kiritimati');
test.stopTest();
}
static testMethod void test_PluginRequest_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
//obj01.PluginRequest(new Process.PluginRequest());
}
static testMethod void test_describe_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
obj01.describe();
}
static testMethod void test_describe_UseCase2(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
//businesshours_Obj[0].id='';
businesshours_Obj[0].Name='hgvhv';
obj01.describe();
}
}
Apex class:
global class ValidateBusinessHours implements Process.Plugin {
global Process.PluginResult invoke(Process.PluginRequest request) {
DateTime dt = (DateTime) request.inputParameters.get('dt');
BusinessHours bh = [SELECT Id,name FROM BusinessHours WHERE Name='Zelle Flow' limit 1];
System.debug('Business Hours:'+bh);
System.debug('Current Date Time'+dt);
System.debug('Current Date time is in Business hours::'+BusinessHours.isWithin(bh.id, dt));
Map<String,boolean> result = new Map<String,boolean>();
result.put('value',BusinessHours.isWithin(bh.id, dt));
return new Process.PluginResult(result);
}
// Returns the describe information for the interface
global Process.PluginDescribeResult describe() {
Process.PluginDescribeResult result = new Process.PluginDescribeResult();
result.Name = 'businessHoursplugin';
result.Tag = 'BusinessHours';
result.inputParameters = new
List<Process.PluginDescribeResult.InputParameter>{
new Process.PluginDescribeResult.InputParameter('dt',
Process.PluginDescribeResult.ParameterType.DateTime, true)
};
result.outputParameters = new
List<Process.PluginDescribeResult.OutputParameter>{
new Process.PluginDescribeResult.OutputParameter(
'value',
Process.PluginDescribeResult.ParameterType.boolean)
};
return result;
}
}
Test Class:
@isTest
private class ValidateBusinessHours_Test{
@testSetup
static void setupTestData(){
test.startTest();
BusinessHours businesshours_Obj = new BusinessHours(Name = 'Name220', IsActive = true, IsDefault = false, TimeZoneSidKey = 'Pacific/Kiritimati');
test.stopTest();
}
static testMethod void test_PluginRequest_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
//obj01.PluginRequest(new Process.PluginRequest());
}
static testMethod void test_describe_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
obj01.describe();
}
static testMethod void test_describe_UseCase2(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
//businesshours_Obj[0].id='';
businesshours_Obj[0].Name='hgvhv';
obj01.describe();
}
}
----------------
global class ValidateBusinessHours implements Process.Plugin {
global Process.PluginResult invoke(Process.PluginRequest request) {
DateTime dt = (DateTime) request.inputParameters.get('dt');
BusinessHours bh;
if(!Test.isRunningTest()){
bh = [SELECT Id,name FROM BusinessHours WHERE Name='Zelle Flow' limit 1];
}else{
bh = [SELECT Id,name FROM BusinessHours WHERE IsDefault=TRUE];
}
System.debug('Business Hours:'+bh);
System.debug('Current Date Time'+dt);
System.debug('Current Date time is in Business hours::'+BusinessHours.isWithin(bh.id, dt));
Map<String,boolean> result = new Map<String,boolean>();
result.put('value',BusinessHours.isWithin(bh.id, dt));
return new Process.PluginResult(result);
}
// Returns the describe information for the interface
global Process.PluginDescribeResult describe() {
Process.PluginDescribeResult result = new Process.PluginDescribeResult();
result.Name = 'businessHoursplugin';
result.Tag = 'BusinessHours';
result.inputParameters = new
List<Process.PluginDescribeResult.InputParameter>{
new Process.PluginDescribeResult.InputParameter('dt',
Process.PluginDescribeResult.ParameterType.DateTime, true)
};
result.outputParameters = new
List<Process.PluginDescribeResult.OutputParameter>{
new Process.PluginDescribeResult.OutputParameter(
'value',
Process.PluginDescribeResult.ParameterType.boolean)
};
return result;
}
}
----------------------------
Test class
------------------
@isTest
private class ValidateBusinessHours_Test{
@testSetup
static void setupTestData(){
test.startTest();
BusinessHours businesshours_Obj = new BusinessHours(Name = 'Name220', IsActive = true, IsDefault = false, TimeZoneSidKey = 'Pacific/Kiritimati');
test.stopTest();
}
static testMethod void test_PluginRequest_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours where IsDefault=true];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
Map<String, Object> inputParams = new Map<String, Object>();
inputParams.put('dt',DateTime.now());
obj01.invoke(new Process.PluginRequest(inputParams));
}
static testMethod void test_describe_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
obj01.describe();
}
static testMethod void test_describe_UseCase2(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
//businesshours_Obj[0].id='';
businesshours_Obj[0].Name='hgvhv';
obj01.describe();
}
}
Please mark it best if it helps you. Thanks.
Regards,
Pawan Kumar
All Answers
@isTest
private class ValidateBusinessHours_Test{
@testSetup
static void setupTestData(){
test.startTest();
BusinessHours businesshours_Obj = new BusinessHours(Name = 'Name220', IsActive = true, IsDefault = false, TimeZoneSidKey = 'Pacific/Kiritimati');
test.stopTest();
}
static testMethod void test_PluginRequest_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
Map<String, Object> inputParams = new Map<String, Object>();
inputParams.put('dt',DateTime.now());
obj01.invoke(new Process.PluginRequest(inputParams));
}
static testMethod void test_describe_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
obj01.describe();
}
static testMethod void test_describe_UseCase2(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
//businesshours_Obj[0].id='';
businesshours_Obj[0].Name='hgvhv';
obj01.describe();
}
}
Please mark it best if it helps you. Thanks.
Regards,
Pawan Kumar
Now my Code Covered by 83%
----------------
global class ValidateBusinessHours implements Process.Plugin {
global Process.PluginResult invoke(Process.PluginRequest request) {
DateTime dt = (DateTime) request.inputParameters.get('dt');
BusinessHours bh;
if(!Test.isRunningTest()){
bh = [SELECT Id,name FROM BusinessHours WHERE Name='Zelle Flow' limit 1];
}else{
bh = [SELECT Id,name FROM BusinessHours WHERE IsDefault=TRUE];
}
System.debug('Business Hours:'+bh);
System.debug('Current Date Time'+dt);
System.debug('Current Date time is in Business hours::'+BusinessHours.isWithin(bh.id, dt));
Map<String,boolean> result = new Map<String,boolean>();
result.put('value',BusinessHours.isWithin(bh.id, dt));
return new Process.PluginResult(result);
}
// Returns the describe information for the interface
global Process.PluginDescribeResult describe() {
Process.PluginDescribeResult result = new Process.PluginDescribeResult();
result.Name = 'businessHoursplugin';
result.Tag = 'BusinessHours';
result.inputParameters = new
List<Process.PluginDescribeResult.InputParameter>{
new Process.PluginDescribeResult.InputParameter('dt',
Process.PluginDescribeResult.ParameterType.DateTime, true)
};
result.outputParameters = new
List<Process.PluginDescribeResult.OutputParameter>{
new Process.PluginDescribeResult.OutputParameter(
'value',
Process.PluginDescribeResult.ParameterType.boolean)
};
return result;
}
}
----------------------------
Test class
------------------
@isTest
private class ValidateBusinessHours_Test{
@testSetup
static void setupTestData(){
test.startTest();
BusinessHours businesshours_Obj = new BusinessHours(Name = 'Name220', IsActive = true, IsDefault = false, TimeZoneSidKey = 'Pacific/Kiritimati');
test.stopTest();
}
static testMethod void test_PluginRequest_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours where IsDefault=true];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
Map<String, Object> inputParams = new Map<String, Object>();
inputParams.put('dt',DateTime.now());
obj01.invoke(new Process.PluginRequest(inputParams));
}
static testMethod void test_describe_UseCase1(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
obj01.describe();
}
static testMethod void test_describe_UseCase2(){
List<BusinessHours> businesshours_Obj = [SELECT Id,Name from BusinessHours];
System.assertEquals(true,businesshours_Obj.size()>0);
ValidateBusinessHours obj01 = new ValidateBusinessHours();
//businesshours_Obj[0].id='';
businesshours_Obj[0].Name='hgvhv';
obj01.describe();
}
}
Please mark it best if it helps you. Thanks.
Regards,
Pawan Kumar
Please use the latest posted code. Where you will get 95% code coverage without BusinessHours errors. Thanks.