function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
HamptonHampton 

Test Class: First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY

Hello:

 

I am getting the above error on my test class. Below are my trigger and test class.

 

trigger RevShareUpdate on Penetration_Summary__c (before insert, before update) {

Set<String> penSumName = new Set<String>(); 

for (Penetration_Summary__c pen : Trigger.new) {
    if(pen.Current__c == TRUE) {
        penSumName.add(pen.Name);
    }
}
Map<String, Release__c> releaseSumMap = new Map<String, Release__c>();
for(Release__c release1:[Select ID, Name, Qualified_Addresses__c, Copper_Voice_Rev_Share__r.Low_End_Tier_One__c, Copper_Voice_Rev_Share__r.Low_End_Tier_Two__c,
Copper_Voice_Rev_Share__r.Low_End_Tier_Three__c, Copper_Voice_Rev_Share__r.High_End_Tier_One__c,
Copper_Voice_Rev_Share__r.High_End_Tier_Two__c, Copper_Voice_Rev_Share__r.High_End_Tier_Three__c,
Copper_Voice_Rev_Share__r.Tier_One__c, Copper_Voice_Rev_Share__r.Tier_Two__c,
Copper_Voice_Rev_Share__r.Tier_Three__c, DSL_Rev_Share__r.Low_End_Tier_One__c, DSL_Rev_Share__r.Low_End_Tier_Two__c,
DSL_Rev_Share__r.Low_End_Tier_Three__c, DSL_Rev_Share__r.High_End_Tier_One__c,
DSL_Rev_Share__r.High_End_Tier_Two__c, DSL_Rev_Share__r.High_End_Tier_Three__c,
DSL_Rev_Share__r.Tier_One__c, DSL_Rev_Share__r.Tier_Two__c,
DSL_Rev_Share__r.Tier_Three__c, Fiber_Voice_Rev_Share__r.Low_End_Tier_One__c, Fiber_Voice_Rev_Share__r.Low_End_Tier_Two__c,
Fiber_Voice_Rev_Share__r.Low_End_Tier_Three__c, Fiber_Voice_Rev_Share__r.High_End_Tier_One__c,
Fiber_Voice_Rev_Share__r.High_End_Tier_Two__c, Fiber_Voice_Rev_Share__r.High_End_Tier_Three__c,
Fiber_Voice_Rev_Share__r.Tier_One__c, Fiber_Voice_Rev_Share__r.Tier_Two__c,
Fiber_Voice_Rev_Share__r.Tier_Three__c, Fiber_Internet_Rev_Share__r.Low_End_Tier_One__c, Fiber_Internet_Rev_Share__r.Low_End_Tier_Two__c,
Fiber_Internet_Rev_Share__r.Low_End_Tier_Three__c, Fiber_Internet_Rev_Share__r.High_End_Tier_One__c,
Fiber_Internet_Rev_Share__r.High_End_Tier_Two__c, Fiber_Internet_Rev_Share__r.High_End_Tier_Three__c,
Fiber_Internet_Rev_Share__r.Tier_One__c, Fiber_Internet_Rev_Share__r.Tier_Two__c,
Fiber_Internet_Rev_Share__r.Tier_Three__c,Video_Rev_Share__r.Low_End_Tier_One__c, Video_Rev_Share__r.Low_End_Tier_Two__c,
Video_Rev_Share__r.Low_End_Tier_Three__c, Video_Rev_Share__r.Low_End_Tier_Four__c,
Video_Rev_Share__r.Low_End_Tier_Five__c,Video_Rev_Share__r.High_End_Tier_One__c,
Video_Rev_Share__r.High_End_Tier_Two__c, Video_Rev_Share__r.High_End_Tier_Three__c,
Video_Rev_Share__r.High_End_Tier_Four__c, Video_Rev_Share__r.High_End_Tier_Five__c,
Video_Rev_Share__r.Tier_One__c, Video_Rev_Share__r.Tier_Two__c,
Video_Rev_Share__r.Tier_Three__c, Video_Rev_Share__r.Tier_Four__c, 
Video_Rev_Share__r.Tier_Five__c, CBW_Rev_Share__r.Tier_One__c, CBW_Rev_Share__r.Low_End_Tier_One__c, 
CBW_Rev_Share__r.High_End_Tier_One__c
from Release__c Where Name IN :penSumName and Rev_Share_Paid__c = TRUE]) {
    releaseSumMap.put(release1.Name, release1);   
}

List<Penetration_Summary__c> penForUpdate = new List<Penetration_Summary__c>();

for(Penetration_Summary__c c : trigger.new)
{
 if(releaseSumMap.containsKey(c.Name))
 {
   if(c.Copper_Voice_Penetration__c >=(releaseSumMap.get(c.Name).Copper_Voice_Rev_Share__r.Low_End_Tier_One__c) && c.Copper_Voice_Penetration__c <= (releaseSumMap.get(c.Name).Copper_Voice_Rev_Share__r.High_End_Tier_One__c))
        c.Copper_Voice_Rev_Share__c = ((releaseSumMap.get(c.Name).Copper_Voice_Rev_Share__r.Tier_One__c) /100) * (c.Copper_Voice_Rev__c+c.copper_CBAD_Rev__c);
    else {
    if(c.Copper_Voice_Penetration__c >= releaseSumMap.get(c.Name).Copper_Voice_Rev_Share__r.Low_End_Tier_Two__c && c.Copper_Voice_Penetration__c <= releaseSumMap.get(c.Name).Copper_Voice_Rev_Share__r.High_End_Tier_Two__c)
        c.Copper_Voice_Rev_Share__c = ((releaseSumMap.get(c.Name).Copper_Voice_Rev_Share__r.Tier_Two__c) /100) * (c.Copper_Voice_Rev__c+c.copper_CBAD_Rev__c);
    else {    
        c.Copper_Voice_Rev_Share__c = ((releaseSumMap.get(c.Name).Copper_Voice_Rev_Share__r.Tier_Three__c) /100) * (c.Copper_Voice_Rev__c+c.copper_CBAD_Rev__c); }
         }
 {        
   if(c.DSL_Penetration__c >=(releaseSumMap.get(c.Name).DSL_Rev_Share__r.Low_End_Tier_One__c) && c.DSL_Penetration__c <= (releaseSumMap.get(c.Name).DSL_Rev_Share__r.High_End_Tier_One__c))
        c.DSL_Rev_Share__c = ((releaseSumMap.get(c.Name).DSL_Rev_Share__r.Tier_One__c) /100) * c.DSL_Rev__c;
    else {
    if(c.DSL_Penetration__c >= releaseSumMap.get(c.Name).DSL_Rev_Share__r.Low_End_Tier_Two__c && c.DSL_Penetration__c <= releaseSumMap.get(c.Name).DSL_Rev_Share__r.High_End_Tier_Two__c)
        c.DSL_Rev_Share__c = ((releaseSumMap.get(c.Name).DSL_Rev_Share__r.Tier_Two__c) /100) * c.DSL_Rev__c;
    else {    
        c.DSL_Rev_Share__c = ((releaseSumMap.get(c.Name).DSL_Rev_Share__r.Tier_Three__c) /100) * c.DSL_Rev__c; }
         }
        }     
  { 
    if(c.Fiber_Voice_Penetration__c >=(releaseSumMap.get(c.Name).Fiber_Voice_Rev_Share__r.Low_End_Tier_One__c) && c.Fiber_Voice_Penetration__c <= (releaseSumMap.get(c.Name).Fiber_Voice_Rev_Share__r.High_End_Tier_One__c))
        c.Fiber_Voice_Rev_Share__c = ((releaseSumMap.get(c.Name).Fiber_Voice_Rev_Share__r.Tier_One__c) /100) * (c.Fiber_Voice_Rev__c+c.Fiber_CBAD_Rev__c);
    else {
    if(c.Fiber_Voice_Penetration__c >= releaseSumMap.get(c.Name).Fiber_Voice_Rev_Share__r.Low_End_Tier_Two__c && c.Fiber_Voice_Penetration__c <= releaseSumMap.get(c.Name).Fiber_Voice_Rev_Share__r.High_End_Tier_Two__c)
        c.Fiber_Voice_Rev_Share__c = ((releaseSumMap.get(c.Name).Fiber_Voice_Rev_Share__r.Tier_Two__c) /100) * (c.Fiber_Voice_Rev__c+c.Fiber_CBAD_Rev__c);
    else {    
        c.Fiber_Voice_Rev_Share__c = ((releaseSumMap.get(c.Name).Fiber_Voice_Rev_Share__r.Tier_Three__c) /100) * (c.Fiber_Voice_Rev__c+c.Fiber_CBAD_Rev__c); }
         }     
        }
  {  
   if(c.Fiber_Internet_Penetration__c >=(releaseSumMap.get(c.Name).Fiber_Internet_Rev_Share__r.Low_End_Tier_One__c) && c.Fiber_Internet_Penetration__c <= (releaseSumMap.get(c.Name).Fiber_Internet_Rev_Share__r.High_End_Tier_One__c))
        c.Fiber_Internet_Rev_Share__c = ((releaseSumMap.get(c.Name).Fiber_Internet_Rev_Share__r.Tier_One__c) /100) * c.Fiber_Internet_Rev__c;
    else {
    if(c.Fiber_Internet_Penetration__c >= releaseSumMap.get(c.Name).Fiber_Internet_Rev_Share__r.Low_End_Tier_Two__c && c.Fiber_Internet_Penetration__c <= releaseSumMap.get(c.Name).Fiber_Internet_Rev_Share__r.High_End_Tier_Two__c)
        c.Fiber_Internet_Rev_Share__c = ((releaseSumMap.get(c.Name).Fiber_Internet_Rev_Share__r.Tier_Two__c) /100) * c.Fiber_Internet_Rev__c;
    else {    
        c.Fiber_Internet_Rev_Share__c = ((releaseSumMap.get(c.Name).Fiber_Internet_Rev_Share__r.Tier_Three__c) /100) * c.Fiber_Internet_Rev__c; }
         }     
        }
  {
  if(c.Video_Penetration__c >=(releaseSumMap.get(c.Name).Video_Rev_Share__r.Low_End_Tier_One__c) && c.Video_Penetration__c <= (releaseSumMap.get(c.Name).Video_Rev_Share__r.High_End_Tier_One__c))
        c.Video_Rev_Share__c = ((releaseSumMap.get(c.Name).Video_Rev_Share__r.Tier_One__c) /100) * c.Video_Rev__c;
    else {
    if(c.Video_Penetration__c >= releaseSumMap.get(c.Name).Video_Rev_Share__r.Low_End_Tier_Two__c && c.Video_Penetration__c <= releaseSumMap.get(c.Name).Video_Rev_Share__r.High_End_Tier_Two__c)
        c.Video_Rev_Share__c = ((releaseSumMap.get(c.Name).Video_Rev_Share__r.Tier_Two__c) /100) * c.Video_Rev__c;
    else { 
   if(c.Video_Penetration__c >= releaseSumMap.get(c.Name).Video_Rev_Share__r.Low_End_Tier_Three__c && c.Video_Penetration__c <= releaseSumMap.get(c.Name).Video_Rev_Share__r.High_End_Tier_Three__c)
        c.Video_Rev_Share__c = ((releaseSumMap.get(c.Name).VIDEO_Rev_Share__r.Tier_Three__c) /100) * c.Video_Rev__c;
   else { 
   if(c.Video_Penetration__c >= releaseSumMap.get(c.Name).Video_Rev_Share__r.Low_End_Tier_Four__c && c.Video_Penetration__c <= releaseSumMap.get(c.Name).Video_Rev_Share__r.High_End_Tier_Four__c)
        c.Video_Rev_Share__c = ((releaseSumMap.get(c.Name).Video_Rev_Share__r.Tier_Four__c) /100) * c.Video_Rev__c;
 else {
        c.Video_Rev_Share__c = ((releaseSumMap.get(c.Name).Video_Rev_Share__r.Tier_Five__c) /100) * c.Video_Rev__c; }
         }
        }
       }
      }            
       c.CBW_Rev_Share__c = ((releaseSumMap.get(c.Name).CBW_Rev_Share__r.Tier_One__c) /100) * c.CBW_Rev__c;
       c.Units__c = (releaseSumMap.get(c.Name).Qualified_Addresses__c);
   penForUpdate.add(c);
   }
  } 
}

 

@isTest
private class RevShareSummaryTestClass {
    static testMethod void validateRevShareSummary() {
    
        Release__c a = new Release__c (Name = '123 Main', Qualified_Addresses__c = 100, Rev_Share_Paid__c = FALSE);
        insert a;
        
        Penetration_Summary__c b = new Penetration_Summary__c (Name = '123 Main', Current__c = TRUE, Copper_Voice_Rev__c = 1000,
        Copper_CBAD_Rev__c = 1000, DSL_Rev__c = 1000, Fiber_Voice_Rev__c = 1000, Fiber_CBAD_Rev__c = 1000, 
        Fiber_Internet_Rev__c = 1000, Video_Rev__c = 1000, CBW_Rev__c = 1000, Copper_Voice_Subs__c = 10,
        Copper_CBAD_Subs__c = 5, DSL_Subs__c = 2, Fiber_Voice_Subs__c = 10, Fiber_CBAD_Subs__c = 5,
        Fiber_Internet_Subs__c = 20, Video_Subs__c = 25, CBW_Subs__c = 5, Month__c = '05 May', Year__c = '2013');
        insert b;
        
        system.assertEquals(NULL, b.Copper_Voice_Rev_Share__c);
        system.assertEquals(NULL, b.DSL_Rev_Share__c);
        system.assertEquals(NULL, b.Fiber_Voice_Rev_Share__c);
        system.assertEquals(NULL, b.Fiber_Internet_Rev_Share__c);
        system.assertEquals(NULL, b.Video_Rev_Share__c);
        system.assertEquals(NULL, b.CBW_Rev_Share__c);
        system.assertEquals(NULL, b.Total_Rev_Share__c); 
        
        Release__c c = new Release__c (Name = '456 Main', Qualified_Addresses__c = 100, Rev_Share_Paid__c = FALSE);
        insert c;
        
        Penetration_Summary__c d = new Penetration_Summary__c (Name = '456', Current__c = FALSE, Copper_Voice_Rev__c = 1000,
        Copper_CBAD_Rev__c = 1000, DSL_Rev__c = 1000, Fiber_Voice_Rev__c = 1000, Fiber_CBAD_Rev__c = 1000, 
        Fiber_Internet_Rev__c = 1000, Video_Rev__c = 1000, CBW_Rev__c = 1000, Copper_Voice_Subs__c = 10,
        Copper_CBAD_Subs__c = 5, DSL_Subs__c = 2, Fiber_Voice_Subs__c = 10, Fiber_CBAD_Subs__c = 5,
        Fiber_Internet_Subs__c = 20, Video_Subs__c = 25, CBW_Subs__c = 5, Month__c = '05 May', Year__c = '2013');
        insert d;
        
        system.assertEquals(NULL, d.Copper_Voice_Rev_Share__c);
        system.assertEquals(NULL, d.DSL_Rev_Share__c);
        system.assertEquals(NULL, d.Fiber_Voice_Rev_Share__c);
        system.assertEquals(NULL, d.Fiber_Internet_Rev_Share__c);
        system.assertEquals(NULL, d.Video_Rev_Share__c);
        system.assertEquals(NULL, d.CBW_Rev_Share__c);
        system.assertEquals(NULL, d.Total_Rev_Share__c);
        
        Release__c e = new Release__c (Name = '789 Main', Qualified_Addresses__c = 100, Rev_Share_Paid__c = TRUE,
        Copper_Voice_Rev_Share__c = 'a1Qc0000000E7SG', DSL_Rev_Share__c = 'a1Pc0000000MIPh', 
        Fiber_Voice_Rev_Share__c = 'a1Nc0000000EkxN', Fiber_Internet_Rev_Share__c = 'a1Mc0000000EYX1', 
        Video_Rev_Share__c = 'a1Lc0000000DuYm', CBW_Rev_Share__c = 'a1Oc0000000DHsF');
        insert e;
        
        Penetration_Summary__c f = new Penetration_Summary__c (Name = '789 Main', Current__c = FALSE, Copper_Voice_Rev__c = 1000,
        Copper_CBAD_Rev__c = 1000, DSL_Rev__c = 1000, Fiber_Voice_Rev__c = 1000, Fiber_CBAD_Rev__c = 1000, 
        Fiber_Internet_Rev__c = 1000, Video_Rev__c = 1000, CBW_Rev__c = 1000, Copper_Voice_Subs__c = 10,
        Copper_CBAD_Subs__c = 5, DSL_Subs__c = 2, Fiber_Voice_Subs__c = 10, Fiber_CBAD_Subs__c = 5,
        Fiber_Internet_Subs__c = 20, Video_Subs__c = 25, CBW_Subs__c = 5, Month__c = '05 May', Year__c = '2013');
        insert f;
        
        system.assertEquals(NULL, f.Copper_Voice_Rev_Share__c);
        system.assertEquals(NULL, f.DSL_Rev_Share__c);
        system.assertEquals(NULL, f.Fiber_Voice_Rev_Share__c);
        system.assertEquals(NULL, f.Fiber_Internet_Rev_Share__c);
        system.assertEquals(NULL, f.Video_Rev_Share__c);
        system.assertEquals(NULL, f.CBW_Rev_Share__c);
        system.assertEquals(NULL, f.Total_Rev_Share__c);
        
        
        Copper_Voice_Rev_Share__c cvrs = new Copper_Voice_Rev_Share__c (Tier_One__c = 3.25, Low_End_Tier_One__c = 0.00,
        High_End_Tier_One__c = 100.00);
        insert cvrs;

        DSL_Rev_Share__c dslrs = new DSL_Rev_Share__c (Tier_One__c = 3.25, Low_End_Tier_One__c = 0.00,
        High_End_Tier_One__c = 100.00);
        insert dslrs;
        
        Fiber_Voice_Rev_Share__c fvrs = new Fiber_Voice_Rev_Share__c (Tier_One__c = 3.25, Low_End_Tier_One__c = 0.00,
        High_End_Tier_One__c = 100.00);
        insert fvrs;
        
        Fiber_Internet_Rev_Share__c firs = new Fiber_Internet_Rev_Share__c (Tier_One__c = 5.00, Low_End_Tier_One__c = 0.00,
        High_End_Tier_One__c = 100.00);
        insert firs;
        
        Video_Rev_Share__c videors = new Video_Rev_Share__c (Tier_One__c = 7.00, Low_End_Tier_One__c = 0.00,
        High_End_Tier_One__c = 49.99, Tier_Two__c = 15.00, Low_End_Tier_Two__c = 50.00,
        High_End_Tier_Two__c = 100.00 );
        insert videors;
        
        CBW_Rev_Share__c cbwrs = new CBW_Rev_Share__c (Tier_One__c = 3.25, Low_End_Tier_One__c = 0.00,
        High_End_Tier_One__c = 100.00);
        insert cbwrs;                                    
        
        Release__c g = new Release__c (Name = '012 Main St', Qualified_Addresses__c = 100, Rev_Share_Paid__c = TRUE,
        Copper_Voice_Rev_Share__c = cvrs.ID, DSL_Rev_Share__c = dslrs.ID, 
        Fiber_Voice_Rev_Share__c = fvrs.ID, Fiber_Internet_Rev_Share__c = firs.ID, 
        Video_Rev_Share__c = videors.ID, CBW_Rev_Share__c = cbwrs.ID);
        insert g;
        
        Penetration_Summary__c h = new Penetration_Summary__c (Name = '012 Main St', Current__c = TRUE, Copper_Voice_Rev__c = 1000,
        Copper_CBAD_Rev__c = 1000, DSL_Rev__c = 1000, Fiber_Voice_Rev__c = 1000, Fiber_CBAD_Rev__c = 1000, 
        Fiber_Internet_Rev__c = 1000, Video_Rev__c = 1000, CBW_Rev__c = 1000, Copper_Voice_Subs__c = 10,
        Copper_CBAD_Subs__c = 5, DSL_Subs__c = 2, Fiber_Voice_Subs__c = 10, Fiber_CBAD_Subs__c = 5,
        Fiber_Internet_Subs__c = 20, Video_Subs__c = 75, CBW_Subs__c = 5, Month__c = '05 May', Year__c = '2013');
        insert h;
        
        system.assertEquals(65.00, h.Copper_Voice_Rev_Share__c);
        system.assertEquals(32.50, h.DSL_Rev_Share__c);
        system.assertEquals(65.00, h.Fiber_Voice_Rev_Share__c);
        system.assertEquals(50.00, h.Fiber_Internet_Rev_Share__c);
        system.assertEquals(150.00, h.Video_Rev_Share__c);
        system.assertEquals(32.50, h.CBW_Rev_Share__c);
 }
}

 It is giving that error at Line 52 of the Apex Code, which shouldn't even be applicaple because in the test class the value of Copper_Voice_Penetration__c is 10%. Copper_Voice_Penetration__c is a formula field.

 

The Test class runs if I take out everything after the System.AssertEquals on insert F.

 

Any ideas?

 

Thanks,

 

Hampton

s_k_as_k_a

In creating data in tes class  donot  assign value to formula fields.

HamptonHampton

None of the values I am assigning there are formulas. They are all number, currency or percent values.

HamptonHampton

The values in the System.AssertEquals are caluclated via a formula in the Apex Trigger. That's the only formula value.