You need to sign in to do that
Don't have an account?
Venkatesh Ganta 16
How to do code Coverage for Remote actions, currently my code coverage is 72%, can anyone help to increase little bit
global with sharing class FullCalendarDemo {
Public string name;
public string selectedOwner {set;get;}
public string selectedType {set;get;}
public decimal latt {get;set;}
public decimal longt {get;set;}
public List < visitList > vist_List {set;get;}
public List < Account > acc_list {set;get;}
public List < Account > All_acc_list {set;get;}
public FullCalendarDemo() {
searchAccountRecords();
}
public static List < selectOption > getUsers() {
List < selectOption > userList = new List < selectOption > ();
// List<User> lstUsers = [select Id,Name ,UserName from User where usertype IN ('Standard') ];
String ProfileName = [SELECT Id, Name FROM Profile where Id =: UserInfo.getProfileId()].Name;
List < User > lstUsers = new List < User > ();
If(ProfileName == 'System Administrator') {
lstUsers = [select Id, Name, UserName from User where usertype IN('Standard')];
}
else {
lstUsers = [select Id, Name, UserName from User where(Id =: UserInfo.getUserId() OR ManagerId =: UserInfo.getUserId())];
}
system.debug('lstUsers' + lstUsers);
for (User u: lstUsers) {
userList.add(new selectOption(u.Id, u.Name));
system.debug('userList' + userList);
}
return userList;
}
@RemoteAction
global static List < User_Calendar__c > getEvents(String userId) {
// String userId = UserInfo.getUserId() ;
List < User_Calendar__c > userCalendar = [SELECT Id, Name, User__r.Name,
Event__c, Event__r.Name, Event__r.Start_Time__c, Event__r.End_Time__c
FROM User_Calendar__c
WHERE User__c =: userId
];
if (userCalendar.size() > 0) {
return userCalendar;
} else {
return null;
}
}
public List < SelectOption > getAccountTypeValues() {
List < SelectOption > options = new List < SelectOption > ();
Schema.DescribeFieldResult fieldResult = Account.Account_Type__c.getDescribe();
List < Schema.PicklistEntry > ple = fieldResult.getPicklistValues();
options.add(new SelectOption('Select', 'Select'));
for (Schema.PicklistEntry f: ple) {
options.add(new SelectOption(f.getLabel(), f.getValue()));
}
options.add(new SelectOption('All', 'All'));
return options;
}
@RemoteAction
global static List < User_Calendar__c > createOrUpdateEvents(String calendarEvent, String userId) {
//Geting Calendar_Event__c object from received Json String
Calendar_Event__c eventObject = ((Calendar_Event__c) JSON.deserialize(calendarEvent, Calendar_Event__c.class));
//you need to put proper regex to validate recordId
Boolean isOldRecord = eventObject.Id != null;
upsert eventObject;
//If its new record, create User Calendar record as well
if (!isOldRecord)
{
User_Calendar__c userCalendar = new User_Calendar__c(Event__c = eventObject.Id, User__c = userId);
insert userCalendar;
}
return getEvents(userId);
}
@RemoteAction
global static List < User_Calendar__c > DeleteEvents(String calendarEvent, String userId) {
//Geting Calendar_Event__c object from received Json String
Calendar_Event__c eventObject = ((Calendar_Event__c) JSON.deserialize(calendarEvent, Calendar_Event__c.class));
//you need to put proper regex to validate recordId
Boolean isOldRecord = eventObject.Id != null;
// eventObject.Account_Type__c=test;
delete eventObject;
//If its new record, create User Calendar record as well
return getEvents(userId);
}
public void searchAccountRecords() {
system.debug('heeee' + selectedType);
try {
List < Dealer__c > dealerList = new List < Dealer__c > ();
List < Sub_Dealer__c > subDealerList = new List < Sub_Dealer__c > ();
List < Distributor__c > distributorList = new List < Distributor__c > ();
List < visitList > vList = new List < visitList > ();
if (selectedType == 'Dealer') {
dealerList = [Select Id, name, Status__c from Dealer__c Where Status__c ='Approved'];
} else if (selectedType == 'SubDealer') {
subDealerList = [Select Id, name,Status__c from Sub_Dealer__c Where Status__c ='Approved'];
} else if (selectedType == 'Distributor') {
distributorList = [Select Id, name,Status__c from Distributor__c Where Status__c ='Approved'];
} else {
dealerList = [Select Id, Name from Dealer__c];
subDealerList = [Select Id, Name from Sub_Dealer__c];
distributorList = [Select Id, Name from Distributor__c];
}
if (!dealerList.isEmpty()) {
for (Dealer__c obj: dealerList) {
visitList vObj = new visitList();
vObj.Id = obj.Id;
vObj.Name = obj.Name;
vObj.Type = 'Dealer';
vList.add(vObj);
}
}
if (!subDealerList.isEmpty()) {
for (Sub_Dealer__c obj: subDealerList) {
visitList vObj = new visitList();
vObj.Id = obj.Id;
vObj.Name = obj.name;
vObj.Type = 'Sub Dealer';
vList.add(vObj);
}
}
if (!distributorList.isEmpty()) {
for (Distributor__c obj: distributorList) {
visitList vObj = new visitList();
vObj.Id = obj.Id;
vObj.Name = obj.Name;
vObj.Type = 'Distributor';
vList.add(vObj);
}
}
vist_List = vList;
system.debug('vist_List' + vist_List);
} catch (Exception e) {
System.debug('Message:=' + e.getMessage() + '***' + e.getLineNumber());
}
}
public class visitList {
public string Id {get;set;}
public string Name {get;set;}
public string Type {get;set;}
}
}
Test Class:-
@isTest
public class FullCalendarDemoTest {
@testSetup
static void setTestData(){
Profile p = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User u = new User(Alias = 'standt', Email='testsystemadmin@testorg.com',
EmailEncodingKey='UTF-8', LastName='Test admin', LanguageLocaleKey='en_US',
LocaleSidKey='en_US', ProfileId = p.Id,
TimeZoneSidKey='America/Los_Angeles', UserName='testadmin@testorg.com');
insert u;
Profile p1 = [SELECT Id FROM Profile WHERE Name='Standard User'];
User u1 = new User(Alias = 'standt', Email='standarduser@testorg.com',
EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US',
LocaleSidKey='en_US', ProfileId = p1.Id,
TimeZoneSidKey='America/Los_Angeles', UserName='teststandarduser@testorg.com');
insert u1;
Account acc = new Account(Name='TestAccount');
Contact cont = new Contact(lastName='TestContact', AccountId = acc.Id);
Event testEvent = new Event();
testEvent.WhoId = cont.Id;
testEvent.StartDateTime = DateTime.newInstance(2021, 8, 20);
testEvent.EndDateTime = DateTime.newInstance(2021, 8, 21);
testEvent.OwnerId = u.Id;
insert testEvent;
Dealer__c dlr = new Dealer__c();
dlr.Dealer_Name__c = 'Test Dealer';
dlr.Phone__c = '1234567890';
dlr.Pincode__c = '234567';
dlr.Address1__c = 'test address 1';
dlr.GSTN__c = '29AAACC1206D2ZB';
dlr.Region__c = 'Bihar';
dlr.District__c = 'Bhojpur';
dlr.City__c = 'CHARKHI DADRI';
dlr.Commission_Rate__c = 23.23;
dlr.PAN__c = 'CDJNS7339L';
dlr.Whatsapp_Number2__c = '9876456789';
dlr.Whatsapp_Number__c ='3434543456';
dlr.Latitude__c = 77.2342344;
dlr.Longitude__c = 98.7876787;
dlr.TCS_Required__c = 'yes';
dlr.Status__c = 'Approved';
Sub_Dealer__c sdlf = new Sub_Dealer__c();
sdlf.title__c ='Mr';
sdlf.Name = 'Test subdealer';
sdlf.Region__c = 'Bihar';
sdlf.GSTN__c = '29AAACC1206D2ZV';
sdlf.PAN__c = 'CDJNS7339H';
sdlf.Whatsapp_Number2__c = '9876456799';
sdlf.Whatsapp_Number__c ='3434543476';
sdlf.Phone__c = '1234567870';
sdlf.Pincode__c = '234587';
sdlf.TCS_Required__c ='yes';
sdlf.Status__c = 'Approved';
Distributor__c dbr = new Distributor__c();
dbr.title__c = 'Mr';
dbr.Distributor_Name__c = 'Test Distributor';
dbr.Region__c ='Bihar';
dbr.GSTN__c = '29AAACC1606D2ZV';
dbr.PAN_Number__c = 'HDJNS7339H';
dbr.Whatsapp_Number2__c = '9876456999';
dbr.Whatsapp_Number__c ='3434547476';
dbr.Phone__c = '1234568870';
dbr.Pincode__c = '234577';
dbr.TCS_Required__c ='yes';
dbr.Status__c = 'Approved';
insert dlr;
insert sdlf;
insert dbr;
}
@isTest
static void FullCalendarDemoTest(){
User usr = [select id, UserName from user where UserName = 'testadmin@testorg.com'];
System.runAs(usr){}
List < selectOption > userlist = FullCalendarDemo.getUsers();
User usrstandard = [select id, UserName from user where UserName = 'teststandarduser@testorg.com'];
System.runAs(usrstandard){}
List < selectOption > stduserlist = FullCalendarDemo.getUsers();
List < User_Calendar__c > uc = FullCalendarDemo.getEvents(usr.Id);
FullCalendarDemo fcd = new FullCalendarDemo();
List < SelectOption > accounttypes = fcd.getAccountTypeValues();
}
}
Public string name;
public string selectedOwner {set;get;}
public string selectedType {set;get;}
public decimal latt {get;set;}
public decimal longt {get;set;}
public List < visitList > vist_List {set;get;}
public List < Account > acc_list {set;get;}
public List < Account > All_acc_list {set;get;}
public FullCalendarDemo() {
searchAccountRecords();
}
public static List < selectOption > getUsers() {
List < selectOption > userList = new List < selectOption > ();
// List<User> lstUsers = [select Id,Name ,UserName from User where usertype IN ('Standard') ];
String ProfileName = [SELECT Id, Name FROM Profile where Id =: UserInfo.getProfileId()].Name;
List < User > lstUsers = new List < User > ();
If(ProfileName == 'System Administrator') {
lstUsers = [select Id, Name, UserName from User where usertype IN('Standard')];
}
else {
lstUsers = [select Id, Name, UserName from User where(Id =: UserInfo.getUserId() OR ManagerId =: UserInfo.getUserId())];
}
system.debug('lstUsers' + lstUsers);
for (User u: lstUsers) {
userList.add(new selectOption(u.Id, u.Name));
system.debug('userList' + userList);
}
return userList;
}
@RemoteAction
global static List < User_Calendar__c > getEvents(String userId) {
// String userId = UserInfo.getUserId() ;
List < User_Calendar__c > userCalendar = [SELECT Id, Name, User__r.Name,
Event__c, Event__r.Name, Event__r.Start_Time__c, Event__r.End_Time__c
FROM User_Calendar__c
WHERE User__c =: userId
];
if (userCalendar.size() > 0) {
return userCalendar;
} else {
return null;
}
}
public List < SelectOption > getAccountTypeValues() {
List < SelectOption > options = new List < SelectOption > ();
Schema.DescribeFieldResult fieldResult = Account.Account_Type__c.getDescribe();
List < Schema.PicklistEntry > ple = fieldResult.getPicklistValues();
options.add(new SelectOption('Select', 'Select'));
for (Schema.PicklistEntry f: ple) {
options.add(new SelectOption(f.getLabel(), f.getValue()));
}
options.add(new SelectOption('All', 'All'));
return options;
}
@RemoteAction
global static List < User_Calendar__c > createOrUpdateEvents(String calendarEvent, String userId) {
//Geting Calendar_Event__c object from received Json String
Calendar_Event__c eventObject = ((Calendar_Event__c) JSON.deserialize(calendarEvent, Calendar_Event__c.class));
//you need to put proper regex to validate recordId
Boolean isOldRecord = eventObject.Id != null;
upsert eventObject;
//If its new record, create User Calendar record as well
if (!isOldRecord)
{
User_Calendar__c userCalendar = new User_Calendar__c(Event__c = eventObject.Id, User__c = userId);
insert userCalendar;
}
return getEvents(userId);
}
@RemoteAction
global static List < User_Calendar__c > DeleteEvents(String calendarEvent, String userId) {
//Geting Calendar_Event__c object from received Json String
Calendar_Event__c eventObject = ((Calendar_Event__c) JSON.deserialize(calendarEvent, Calendar_Event__c.class));
//you need to put proper regex to validate recordId
Boolean isOldRecord = eventObject.Id != null;
// eventObject.Account_Type__c=test;
delete eventObject;
//If its new record, create User Calendar record as well
return getEvents(userId);
}
public void searchAccountRecords() {
system.debug('heeee' + selectedType);
try {
List < Dealer__c > dealerList = new List < Dealer__c > ();
List < Sub_Dealer__c > subDealerList = new List < Sub_Dealer__c > ();
List < Distributor__c > distributorList = new List < Distributor__c > ();
List < visitList > vList = new List < visitList > ();
if (selectedType == 'Dealer') {
dealerList = [Select Id, name, Status__c from Dealer__c Where Status__c ='Approved'];
} else if (selectedType == 'SubDealer') {
subDealerList = [Select Id, name,Status__c from Sub_Dealer__c Where Status__c ='Approved'];
} else if (selectedType == 'Distributor') {
distributorList = [Select Id, name,Status__c from Distributor__c Where Status__c ='Approved'];
} else {
dealerList = [Select Id, Name from Dealer__c];
subDealerList = [Select Id, Name from Sub_Dealer__c];
distributorList = [Select Id, Name from Distributor__c];
}
if (!dealerList.isEmpty()) {
for (Dealer__c obj: dealerList) {
visitList vObj = new visitList();
vObj.Id = obj.Id;
vObj.Name = obj.Name;
vObj.Type = 'Dealer';
vList.add(vObj);
}
}
if (!subDealerList.isEmpty()) {
for (Sub_Dealer__c obj: subDealerList) {
visitList vObj = new visitList();
vObj.Id = obj.Id;
vObj.Name = obj.name;
vObj.Type = 'Sub Dealer';
vList.add(vObj);
}
}
if (!distributorList.isEmpty()) {
for (Distributor__c obj: distributorList) {
visitList vObj = new visitList();
vObj.Id = obj.Id;
vObj.Name = obj.Name;
vObj.Type = 'Distributor';
vList.add(vObj);
}
}
vist_List = vList;
system.debug('vist_List' + vist_List);
} catch (Exception e) {
System.debug('Message:=' + e.getMessage() + '***' + e.getLineNumber());
}
}
public class visitList {
public string Id {get;set;}
public string Name {get;set;}
public string Type {get;set;}
}
}
Test Class:-
@isTest
public class FullCalendarDemoTest {
@testSetup
static void setTestData(){
Profile p = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User u = new User(Alias = 'standt', Email='testsystemadmin@testorg.com',
EmailEncodingKey='UTF-8', LastName='Test admin', LanguageLocaleKey='en_US',
LocaleSidKey='en_US', ProfileId = p.Id,
TimeZoneSidKey='America/Los_Angeles', UserName='testadmin@testorg.com');
insert u;
Profile p1 = [SELECT Id FROM Profile WHERE Name='Standard User'];
User u1 = new User(Alias = 'standt', Email='standarduser@testorg.com',
EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US',
LocaleSidKey='en_US', ProfileId = p1.Id,
TimeZoneSidKey='America/Los_Angeles', UserName='teststandarduser@testorg.com');
insert u1;
Account acc = new Account(Name='TestAccount');
Contact cont = new Contact(lastName='TestContact', AccountId = acc.Id);
Event testEvent = new Event();
testEvent.WhoId = cont.Id;
testEvent.StartDateTime = DateTime.newInstance(2021, 8, 20);
testEvent.EndDateTime = DateTime.newInstance(2021, 8, 21);
testEvent.OwnerId = u.Id;
insert testEvent;
Dealer__c dlr = new Dealer__c();
dlr.Dealer_Name__c = 'Test Dealer';
dlr.Phone__c = '1234567890';
dlr.Pincode__c = '234567';
dlr.Address1__c = 'test address 1';
dlr.GSTN__c = '29AAACC1206D2ZB';
dlr.Region__c = 'Bihar';
dlr.District__c = 'Bhojpur';
dlr.City__c = 'CHARKHI DADRI';
dlr.Commission_Rate__c = 23.23;
dlr.PAN__c = 'CDJNS7339L';
dlr.Whatsapp_Number2__c = '9876456789';
dlr.Whatsapp_Number__c ='3434543456';
dlr.Latitude__c = 77.2342344;
dlr.Longitude__c = 98.7876787;
dlr.TCS_Required__c = 'yes';
dlr.Status__c = 'Approved';
Sub_Dealer__c sdlf = new Sub_Dealer__c();
sdlf.title__c ='Mr';
sdlf.Name = 'Test subdealer';
sdlf.Region__c = 'Bihar';
sdlf.GSTN__c = '29AAACC1206D2ZV';
sdlf.PAN__c = 'CDJNS7339H';
sdlf.Whatsapp_Number2__c = '9876456799';
sdlf.Whatsapp_Number__c ='3434543476';
sdlf.Phone__c = '1234567870';
sdlf.Pincode__c = '234587';
sdlf.TCS_Required__c ='yes';
sdlf.Status__c = 'Approved';
Distributor__c dbr = new Distributor__c();
dbr.title__c = 'Mr';
dbr.Distributor_Name__c = 'Test Distributor';
dbr.Region__c ='Bihar';
dbr.GSTN__c = '29AAACC1606D2ZV';
dbr.PAN_Number__c = 'HDJNS7339H';
dbr.Whatsapp_Number2__c = '9876456999';
dbr.Whatsapp_Number__c ='3434547476';
dbr.Phone__c = '1234568870';
dbr.Pincode__c = '234577';
dbr.TCS_Required__c ='yes';
dbr.Status__c = 'Approved';
insert dlr;
insert sdlf;
insert dbr;
}
@isTest
static void FullCalendarDemoTest(){
User usr = [select id, UserName from user where UserName = 'testadmin@testorg.com'];
System.runAs(usr){}
List < selectOption > userlist = FullCalendarDemo.getUsers();
User usrstandard = [select id, UserName from user where UserName = 'teststandarduser@testorg.com'];
System.runAs(usrstandard){}
List < selectOption > stduserlist = FullCalendarDemo.getUsers();
List < User_Calendar__c > uc = FullCalendarDemo.getEvents(usr.Id);
FullCalendarDemo fcd = new FullCalendarDemo();
List < SelectOption > accounttypes = fcd.getAccountTypeValues();
}
}
NILKAMAL ROUT
Nice One this Article. (https://aboutorissa.com/)
NILKAMAL ROUT
i like this one which need (https://aboutorissa.com/odisha-anganwadi-recruitment-2021/) one .