You need to sign in to do that
Don't have an account?
JoshTonks
Apex Test Class with Aggregate Values Currently 0 Coverage but has a tick on status in the Console
I have an apex class which gets the values of device quantites coming up in the next few days. Im trying to build a display board with visualforce which works.
Im struggling to write a test class which covers the line however the test class is getting a tick in the status in the test logs on the developer console.
This is my class
My test class is looking like this im certain i must be missing something from it as im getting code coverage 0
Im struggling to write a test class which covers the line however the test class is getting a tick in the status in the test logs on the developer console.
This is my class
public class LogisticsQuantity { //Main class Date STARTDAY = Date.today(); Date ENDDAY = STARTDAY.addDays(5); public Summary[] Summaries { get; set; } public LogisticsQuantity() { AggregateResult[] results = [ SELECT Last_Date_for_Dispatch__c, Count(Id), SUM(Hard_Wired_Dash_Camera__c) hard, SUM(New_Unit_Qty__c) newUnit, SUM(Service_Unit_Qty__c) service FROM Unit_Request__c WHERE Last_Date_for_Dispatch__c >= :STARTDAY AND Last_Date_for_Dispatch__c < :ENDDAY AND Picked__c = FALSE GROUP BY Last_Date_for_Dispatch__c ORDER BY Last_Date_for_Dispatch__c ASC NULLS LAST ]; Summaries = new List<Summary>(); for (AggregateResult ar : results) { Summaries.add(new Summary(ar)); } } // wrapper class for aggregate data public class Summary { public decimal NewQuantity { get; set; } public decimal SvcQuantity { get; set; } public decimal CamQuantity { get; set; } public date Name { get; set; } public Summary(AggregateResult ar) { CamQuantity = (decimal) ar.get('hard'); NewQuantity = (decimal) ar.get('newUnit'); SvcQuantity = (decimal) ar.get('service'); Name = (date) ar.get('Last_Date_for_Dispatch__c'); } } }
My test class is looking like this im certain i must be missing something from it as im getting code coverage 0
@isTest public class LogisticsQuantityTest { Date TODAY = Date.today(); static testMethod void testLogsticsQuantity() { Unit_Request__c UR = new Unit_Request__c(); UR.Date_Of_Job__c = Date.newInstance(2019,12,01); UR.Telenor_Elder__c = TRUE; UR.Company_Name_Text__c = 'Test Account'; UR.Contact_Name_Text__c = 'Test Contact'; UR.Contact_Telephone_Number__c = '01234456789'; UR.Contact_Email_Address__c = 'test@test.com'; UR.Unit_Request_to_Case__c = '5008E00000GEaqt'; UR.LMU_2630_Loom_Standard__c = 1; UR.LMU_2630_Loom_Standard__c = 1; insert UR; test.startTest(); } }
I'm affraid that you are not calling the "LogisticsQuantity" class from your test, that's why you are not getting coverage. Otherwise, if you are trying to test a Visualforce Page Controller you need to use Page References. You can get more information about how to test VFPs in the next link: Testing Custom Controllers and Controller Extensions (https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_controller_error_handling.htm" target="_blank)