+ Start a Discussion
prachi barahateprachi barahate 

test class for a trigger having count soql

I had created a trigger on a custom object 'Job_application__c' as follows:
Trigger code:
trigger chk_no_of_appn_appliedTODAY on Job_Application__c (before insert,before update) 
    Integer n=[select count() from Job_Application__c where createddate=TODAY and CreatedById =:UserInfo.getUserId()];

    for(Job_Application__c j:Trigger.new)
            j.addError('you have exceeded today limit');------------------------2

And had written test class like as :
Test Class :
public class t2 
    static testmethod void check()
        Profile p = [SELECT Id FROM Profile WHERE Name='Standard Employee'];

        User u2 = new User(Alias = 'Sailee', Email='Sailee@testorg.com',EmailEncodingKey='UTF-8', 
                            LastName='Testing', LanguageLocaleKey='en_US', 
                            LocaleSidKey='en_US', ProfileId = p.Id,
                          TimeZoneSidKey='America/Los_Angeles', UserName='Sailee@testorg.com');
        insert u2 ;
               Position__c pos= new Position__c(Name='vb_4');
               insert pos;
               Candidate__C c= new Candidate__C(First_name__c='Prachci');
               insert c;
               for(integer i=0;i<5;i++)
                    Job_Application__c  j =new Job_Application__c();
                    insert j;
                   job_Application__c  j1 =new Job_Application__c(position__C=pos.Id,Candidate__c=c.Id);
                   insert j1;                      
               catch(DMLException e)
                   System.assert(e.getMessage().contains('you have exceeded today limit'));

This class is giving 71% coverage and highlighting line marked---1  and --2  as not traced in results.
Please me in modifying code to achieve 100% coverage.
Rahul KumarRahul Kumar (Salesforce Developers) 
Hi Prachi barahate, Please mark it as best answer if it resolves your issue.

Rahul Kumar