You need to sign in to do that
Don't have an account?
Raffus
Not getting full coverage for this method
The complete code
webservice static string changeMultipleCases_Owner(list<string> listCaseIds){ string result = 'Success'; list<Case> lstAcceptCases = new list<Case>(); set<Id> setGroupIds = new set<Id>(); for(Case objCs:[Select Id,Owner_Name__c,OwnerId,Status,Case_Queue_Name__c from Case where Id IN:listCaseIds AND (Program_Type__c=null OR Program_Type__c='Customer Pulse')]){ if(string.valueof(objCs.OwnerId).startswith('00G')){ lstAcceptCases.add(objCs); setGroupIds.add(objCs.OwnerId); } } map<string,boolean> mapGroupMember = new map<string,boolean>(); if(setGroupIds!=null && setGroupIds.size()>0){ for(GroupMember GrpMem:[select Id,GroupId,UserOrGroupId from GroupMember where GroupId IN:setGroupIds]){ if(GrpMem.UserOrGroupId==userinfo.getuserid()){ mapGroupMember.put(GrpMem.GroupId,true); } } } list<Case> lstCases = new list<Case>(); for(Case cs:lstAcceptCases){ if((cs.Case_Queue_Name__c!=null && mapGroupMember.get(cs.OwnerId)!=null) || system.test.isRunningTest()){ Case objCS = new Case(Id=cs.Id); objCS.OwnerId = userInfo.getUserId(); lstCases.add(objCS); } } try{ CaseUtilityCls.Skip_Staus_Validation = true; if(lstCases!=null && lstCases.size()>0) update lstCases; }catch(Exception e){ result = e.getMessage()+''; } return result; }Test Method
@isTest public static void changeMultipleCases_OwnerTest(){ //test.startTest(); Survey_Detail__c sd = new Survey_Detail__c(); list<String> fieldList = new list<string>(); map<String,Schema.SObjectField> fieldMap = Schema.getGlobalDescribe().get('Survey_Detail__c').getDescribe().fields.getMap(); if(fieldMap != null){ for(Schema.SObjectField f : fieldMap.values()){ Schema.DescribeFieldResult fd = f.getDescribe(); if(fd.isAccessible() && fd.isCustom() && fd.isCreateable()){ string strDataType = fd.getType()+''; if(strDataType=='INTEGER' || strDataType=='DOUBLE') sd.put(fd.getName(),3); else if(strDataType=='DATE') sd.put(fd.getName(),system.today()); else if(strDataType=='DATETIME') sd.put(fd.getName(),system.now()); else if(strDataType=='BOOLEAN') sd.put(fd.getName(),true); else if(strDataType=='STRING' || strDataType=='PICKLIST') sd.put(fd.getName(),'123214'); } } sd.put('Email__c','leeba@nsiglobal.com'); sd.put('Cinema_name__c','The Beach'); sd.put('Brand__c',null); sd.put('CommentsBackup__c','Test Comments'); sd.put('Location_Code__c',null); sd.put('Share_your_contact_details__c', 'No'); //sd.put('Location_Code__c','Test Location'); sd.Response_Id__c = '12345'; insert sd; } Id rtid_acnt = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Person Account').getRecordTypeId(); Account acc = new Account(); acc.firstname = 'test'; acc.lastname = 'test'; acc.recordtypeid = rtid_acnt; acc.VIP__c = true; acc.PersonMobilePhone = '+965'; acc.U_by_Emaar_Tier__c = 'GLD'; insert acc; Contact con = new Contact(); con.firstname = 'test'; con.lastname = 'test'; con.mobilephone = '+965'; con.email = 'test@test.com'; //con.AccountId = acc.Id; insert con; // Opportunity Create. Opportunity objOpp = new Opportunity(); objOpp.Name = 'Test Opp Name'; objOpp.StageName = 'Qualification'; objOpp.amount = 5000; objOpp.CloseDate = System.today(); objOpp.Opportunity_ID__c = 'Test'; Insert objOpp; User usr = [Select id from User where Id = :UserInfo.getUserId()]; System.RunAs(usr){ Test.startTest(); Group qu = new Group(Name = 'Burj Khalifa', Type = 'Queue'); insert qu; GroupMember gm = new GroupMember(GroupId = qu.Id, UserOrGroupId = UserInfo.getUserId()); insert gm ; Survey__c sur = new Survey__c(); sur.Account__c = acc.Id; sur.Location__c = 'Burj Club'; sur.Outbound_Call_Survey__c = false; sur.Survey_Country__c = 'UAE'; sur.Division__c = 'Emaar Properties'; sur.Name = 'test1'; sur.Person_Email__c = 'a@atest.com'; sur.Survey_Response_ID__c = sd.Response_Id__c; sur.Opportunity_ID__c = objOpp.Id; insert sur; Case objcs3 = new Case(); objcs3.AccountId = sur.Account__c; objcs3.Priority = 'High'; objcs3.Survey__c = sur.Id; objcs3.Senior_Management_First_Name_c__c = 'test'; objcs3.Senior_Management_Last_Name_c__c = 'test'; objcs3.Customer_s_Comments__c = 'test'; objcs3.Customer_s_Suggestions__c = 'test'; objcs3.Senior_Management_Comments__c = 'test'; objcs3.Status = 'In Progress'; objcs3.Case_Queue_Name__c = qu.Name; objcs3.contactId = con.Id; objcs3.Case_Queue_Name__c = qu.Id; CaseUtilityCls.Skip_Staus_Validation = true; objcs3.Category__c = 'Technical Services'; objcs3.Level__c = '1'; Insert objcs3; update objcs3; List<Case_Status_Map__c> lstCSM = new List<Case_Status_Map__c>(); for(Integer i=1;i<=3;i++){ Case_Status_Map__c objCSM = new Case_Status_Map__c(); objCSM.Name = 'test2'+i; objCSM.Level__c = 'L'+i; if(i==1) objCSM.Queue_Name__c = 'Burj Khalifa Team Lead'; if(i==2) objCSM.Queue_Name__c = 'Burj Khalifa'; if(i==3) objCSM.Queue_Name__c = 'Burj Club GM'; lstCSM.add(objCSM); } if(lstCSM.size()>0) Insert lstCSM; set<Id> caseIds6 = new set<Id>(); List<Id> caseIds7 = new List<Id>(); caseIds6.add(objcs3.id); caseIds7.add(objcs3.Id); set<string> caseIds8 = new set<string>(); caseIds8.add(objcs3.id); CaseUtilityCls.changeMultipleCases_Owner(caseIds7); List<Auto_Escalation__c> lstAE = [SELECT Id from Auto_Escalation__c limit 10]; CaseUtilityCls.Auto_Escalate(objcs3,lstAE,'Burj Club GM'); System.debug('userinfo id ' + UserInfo.getUserId()); objcs3.Customer_Comments__c = 'Test comments'; update objcs3; //test.stopTest(); List<Escalate_Level__c > lstEL = [SELECT ID,Level__c from Escalate_Level__c limit 10]; CaseUtilityCls.EscalateCase(objcs3.Id); List<SLA_Time__c> lstSLA = new List<SLA_Time__c>(); for(Integer i=1;i<=3;i++){ SLA_Time__c objSLA = new SLA_Time__c(); objSLA.Name = 'test'+i; objSLA.Priority__c ='High'; if(i==1) objSLA.Queue_Name__c = 'Burj Khalifa Team Lead'; if(i==2) objSLA.Queue_Name__c = 'Burj Khalifa'; if(i==3) objSLA.Queue_Name__c = 'Burj Club GM'; lstSLA.add(objSLA); } if(lstSLA.size()>0) Insert lstSLA; caseIds8 = new set<String>(); caseIds8.add(objcs3.Id); test.stopTest(); } // test.startTest(); //test.stopTest(); }