1
votes

I need to increase code coverage on my test case. Right now, I am around 50%. I know that my extension is Account, but I somehow need to include Task info and Account.ParentId != Null and Task.Status =: 'Completed' into my test case somehow...Any help would be appreciated...

My Controller:

public class childTaskOnParentCont {

    public Account acc {get;set;}
    public List<Task> tasks {get;set;}
    public List<Task> closedTasks {get;set;}
    public List<Task> tasksLimited {get;set;}
    public List<Task> closedTasksLimited {get;set;}

    public List<Contact> cons {get;set;}


    //constructor
    public childTaskOnParentCont(apexpages.StandardController con){
        acc = (Account) con.getRecord();
        cons=[SELECT id from Contact WHERE AccountID=: acc.Id];


    tasksLimited= [Select whoid,whatid,subject,type, Medium_of_Activity__c, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
                   Where Account.ParentID != null And status !='completed' ORDER BY activitydate LIMIT 10];
   system.debug('taskslimited: '+taskslimited);

    closedTasksLimited= [Select whoid,subject,type, Medium_of_Activity__c, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
                   Where Account.ParentID != null And status =:'completed' ORDER BY activitydate LIMIT 10];  
    system.debug('closedTasksLimited: '+closedTasksLimited);   


    }

    //Get the Account Information
public Account getAccount() {
    return [SELECT id,ParentId, name FROM Account WHERE Id=: acc.Id];
}

    //Get Open Tasks for Child Tasks
public List<Task> getTasks() {

    tasks= [Select whoid,subject,type, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
            Where Account.ParentID != null And status !='completed' ORDER BY activitydate];
    return tasks;
}

//Get Closed Tasks for Child Tasks
public List<Task> getClosedTasks() {

    closedTasks= [Select whoid,subject,type, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
            Where Account.ParentID != null And status =:'completed' ORDER BY activitydate];
    return closedTasks;
  }
}

My Test Case:

public class childTaskOnParentCont {

    public Account acc {get;set;}
    public List<Task> tasks {get;set;}
    public List<Task> closedTasks {get;set;}
    public List<Task> tasksLimited {get;set;}
    public List<Task> closedTasksLimited {get;set;}

    public List<Contact> cons {get;set;}


    //constructor
    public childTaskOnParentCont(apexpages.StandardController con){
        acc = (Account) con.getRecord();
        cons=[SELECT id from Contact WHERE AccountID=: acc.Id];


    tasksLimited= [Select whoid,whatid,subject,type, Medium_of_Activity__c, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
                   Where Account.ParentID != null And status !='completed' ORDER BY activitydate LIMIT 10];
   system.debug('taskslimited: '+taskslimited);

    closedTasksLimited= [Select whoid,subject,type, Medium_of_Activity__c, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
                   Where Account.ParentID != null And status =:'completed' ORDER BY activitydate LIMIT 10];  
    system.debug('closedTasksLimited: '+closedTasksLimited);   


    }

    //Get the Account Information
public Account getAccount() {
    return [SELECT id,ParentId, name FROM Account WHERE Id=: acc.Id];
}

    //Get Open Tasks for Child Tasks
public List<Task> getTasks() {

    tasks= [Select whoid,subject,type, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
            Where Account.ParentID != null And status !='completed' ORDER BY activitydate];
    return tasks;
}

//Get Closed Tasks for Child Tasks
public List<Task> getClosedTasks() {

    closedTasks= [Select whoid,subject,type, activitydate, lastmodifieddate,Account.Name, 
                   ownerid, status, priority from Task 
            Where Account.ParentID != null And status =:'completed' ORDER BY activitydate];
    return closedTasks;
  }
}
2

2 Answers

0
votes

To second @EricSSH -- you've got to make your tests actually run through your whole code by creating some data. The following trailhead was very helpful to me with Apex testing.

https://trailhead.salesforce.com/modules/apex_testing