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

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
In creating data in tes class donot assign value to formula fields.
None of the values I am assigning there are formulas. They are all number, currency or percent values.
The values in the System.AssertEquals are caluclated via a formula in the Apex Trigger. That's the only formula value.