You need to sign in to do that
Don't have an account?

Urgent: not getting 75% test code coverage
Hi All,
I'm not getting minimum of 75% code coverage for the below trigger, covering only 50%. I didnt understand what mistake i did, can some one please help on this. Any help is highly appreciated.
Trigger:
trigger updateCaseSummary on Case(after insert) {
List<Account> accList = new List<Account>();
set<Id> accIds = new set<Id>();
for(Case cs : Trigger.new){
accIds.add(cs.AccountId);
}
accList = [ select CaseNum__c from Account where Id in : accIds];
if(accList.size() > 0) {
for(Account ac: accList){
if( ac.CaseNum__c == null)
ac.CaseNum__c = 0;
ac.CaseNum__c = ac.CaseNum__c + 1;
}
update accList;
}
Test Class:
@isTest(SeeAllData=true)
public class updateCaseSummaryTest{
static testMethod void SummaryTest(){
Account acc = New Account(Name = 'TestAccount',CaseNum__c = 1);
insert acc;
Case cs = New Case(AccountId = acc.Id);
insert cs;
if(acc.CaseNum__c == null)
acc.CaseNum__c = 0;
acc.CaseNum__c = acc.CaseNum__c + 1;
update acc;
}
}
Thanks in advance!
Insert one more Account . .
Account acc1 = New Account(Name = 'TestAccount',CaseNum__c = Null);
insert acc1;
or You can update the Current Account . .
acc.CaseNum__C = Null;
udpate acc;
then as Your trigger runs only on insertion of Case record . So insert a case record. . You can put the previous account or New account
Case cs = New Case(AccountId = acc1.Id);
insert cs;
or
Case cs = New Case(AccountId = acc.Id); // Please update the account first
insert cs;
Please mark this as resolve .if issue get resolved
Hi Ankit. Thank you for your response.
I have created one more account, but no luck getting 50% coverage only.
Here is the modified code:
@isTest(SeeAllData=true)
public class updateCaseSummaryTest{
static testMethod void SummaryTest(){
Account acc = New Account(Name = 'TestAccount',CaseNum__c = 1);
insert acc;
Case cs = New Case(AccountId = acc.Id);
insert cs;
acc.CaseNum__c = acc.CaseNum__c + 1;
update acc;
Account acc2 = New Account(Name = 'TestAccount2',CaseNum__c = null);
insert acc2;
Case cs2 = New Case(AccountId = acc2.Id);
insert cs2;
if(acc2.CaseNum__c == null)
acc2.CaseNum__c = 0;
acc2.CaseNum__c = acc2.CaseNum__c + 1;
update acc2;
}
}
Thanks!
try this much only
@isTest(SeeAllData=true)
public class updateCaseSummaryTest{
static testMethod void SummaryTest(){
Account acc = New Account(Name = 'TestAccount',CaseNum__c = 1);
insert acc;
Case cs = New Case(AccountId = acc.Id);
insert cs;
Account acc2 = New Account(Name = 'TestAccount2',CaseNum__c = null);
insert acc2;
Case cs2 = New Case(AccountId = acc2.Id);
insert cs2;
}
}
No luck, getting 50 % coverage only.
Thanks!
Any one can help me on this please ....
Thanks !