You need to sign in to do that
Don't have an account?
Jim Montgomery
error running test class but other test class runs fine.
Too many soql errors trigger msa data line 73
Getting error on this trigger fro one test class, but works fine from another test class.
trigger MSAData on Account (before insert,before update) {
Trigger
Map<String,String> MSALookup = new Map<String,String>();
Set<String> AZipCode = new Set<String>();
if(trigger.IsInsert){
for(Account A:Trigger.new) {
AZipCode.add(A.billingpostalcode);
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_code__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_code__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_code__c = MSALookup.get(A.billingpostalcode);
}
}
for(Account A:Trigger.new) {
AZipCode.add(A.billingpostalcode);
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_name__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_name__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_description__c = MSALookup.get(A.billingpostalcode);
}
}
}
if(trigger.isUpdate){
for(Account acct:trigger.new){
account oldAcct= Trigger.oldmap.get(Acct.Id);
if (oldacct.BillingPostalCode<>Acct.BillingPostalCode){
AZipCode.add(acct.billingpostalcode);
}
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_name__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_name__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_description__c = MSALookup.get(A.billingpostalcode);
}
}
for(Account A:Trigger.new) {
AZipCode.add(A.billingpostalcode);
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_code__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_code__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_code__c = MSALookup.get(A.billingpostalcode);
}
}
}
}
Test Class
@isTest
private class TestTaskEventRollup_RecordType {
static testMethod void InsertTask() {
Account A = new Account(
Name = 'myAcct',
BillingStreet='25 Upland Drive',
BillingPostalCode='94127',
BillingCountry='United States',
BillingCity='San Francisco',
recordtypeid = '012i0000000Ou0CAAS',
software_owner__C = '005i0000001gISQAA2' );
insert A;
Campaign Cam = new Campaign(
name = '18--support-phone inbound-torrance',
type = 'Direct mail',
isactive = true);
insert Cam;
Contact c = new Contact(
firstname = 'Jim', lastname = 'Montgomery');
Insert c;
Opportunity O = new Opportunity(
Name = 'TestOpp',
accountId = A.Id,
type = 'New to Existing',
Closedate = Date.today().addYears(1),
stagename = '1. Gain Access',
product_category__c = 'Med/Large Software',
Amount = 1.00,
product_Sub_Category__c = 'Tax');
insert O;
Task tsk = New Task(
Type = 'Email',
WhatId = A.Id,
Subject = 'Call'
);
insert tsk;
Task tsk2 = New Task(
Type = 'Email',
whatId = A.Id,
Subject = 'Call'
);
insert tsk2;
Task tsk3 = New Task(
Type = 'Email',
whatId = A.Id,
Subject = 'Call'
);
insert tsk3;
Event Evt = New Event(
OwnerId = '005i0000001gISQAA2',
subject = 'Demonstration',
event_type__c = 'Demo - Professional',
whatId = A.Id,
no_sa_needed__c = true,
startdatetime = datetime.newInstance(2018, 9, 15, 12, 30, 0),
enddatetime = datetime.newInstance(2018, 9, 15, 12, 35, 0));
insert Evt;
Event Evt1 = New Event(
OwnerId = '005i0000001gISQAA2',
subject = 'Demonstration',
event_type__c = 'Conference Call',
whatId = A.Id,
no_sa_needed__c = true,
startdatetime = datetime.newInstance(2018, 9, 15, 12, 30, 0),
enddatetime = datetime.newInstance(2018, 9, 15, 12, 35, 0));
insert Evt1;
Event Evt2 = New Event(
OwnerId = '005i0000001gISQAA2',
subject = 'Demonstration',
event_type__c = 'In_Person Meeting',
whatId = A.Id,
no_sa_needed__c = true,
startdatetime = datetime.newInstance(2018, 9, 15, 12, 30, 0),
enddatetime = datetime.newInstance(2018, 9, 15, 12, 35, 0));
insert Evt2;
}
}
Getting error on this trigger fro one test class, but works fine from another test class.
trigger MSAData on Account (before insert,before update) {
Trigger
Map<String,String> MSALookup = new Map<String,String>();
Set<String> AZipCode = new Set<String>();
if(trigger.IsInsert){
for(Account A:Trigger.new) {
AZipCode.add(A.billingpostalcode);
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_code__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_code__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_code__c = MSALookup.get(A.billingpostalcode);
}
}
for(Account A:Trigger.new) {
AZipCode.add(A.billingpostalcode);
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_name__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_name__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_description__c = MSALookup.get(A.billingpostalcode);
}
}
}
if(trigger.isUpdate){
for(Account acct:trigger.new){
account oldAcct= Trigger.oldmap.get(Acct.Id);
if (oldacct.BillingPostalCode<>Acct.BillingPostalCode){
AZipCode.add(acct.billingpostalcode);
}
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_name__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_name__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_description__c = MSALookup.get(A.billingpostalcode);
}
}
for(Account A:Trigger.new) {
AZipCode.add(A.billingpostalcode);
}
for(naics_code__c NA:
[SELECT zip_code__c, msa_code__c
FROM naics_code__c
WHERE zip_code__c IN :AZipCode]) {
MSALookup.put(NA.zip_code__c,NA.msa_code__c);
}
for(Account A:Trigger.new) {
if(MSALookup.containsKey(A.billingpostalcode)) {
A.d_B_msa_code__c = MSALookup.get(A.billingpostalcode);
}
}
}
}
Test Class
@isTest
private class TestTaskEventRollup_RecordType {
static testMethod void InsertTask() {
Account A = new Account(
Name = 'myAcct',
BillingStreet='25 Upland Drive',
BillingPostalCode='94127',
BillingCountry='United States',
BillingCity='San Francisco',
recordtypeid = '012i0000000Ou0CAAS',
software_owner__C = '005i0000001gISQAA2' );
insert A;
Campaign Cam = new Campaign(
name = '18--support-phone inbound-torrance',
type = 'Direct mail',
isactive = true);
insert Cam;
Contact c = new Contact(
firstname = 'Jim', lastname = 'Montgomery');
Insert c;
Opportunity O = new Opportunity(
Name = 'TestOpp',
accountId = A.Id,
type = 'New to Existing',
Closedate = Date.today().addYears(1),
stagename = '1. Gain Access',
product_category__c = 'Med/Large Software',
Amount = 1.00,
product_Sub_Category__c = 'Tax');
insert O;
Task tsk = New Task(
Type = 'Email',
WhatId = A.Id,
Subject = 'Call'
);
insert tsk;
Task tsk2 = New Task(
Type = 'Email',
whatId = A.Id,
Subject = 'Call'
);
insert tsk2;
Task tsk3 = New Task(
Type = 'Email',
whatId = A.Id,
Subject = 'Call'
);
insert tsk3;
Event Evt = New Event(
OwnerId = '005i0000001gISQAA2',
subject = 'Demonstration',
event_type__c = 'Demo - Professional',
whatId = A.Id,
no_sa_needed__c = true,
startdatetime = datetime.newInstance(2018, 9, 15, 12, 30, 0),
enddatetime = datetime.newInstance(2018, 9, 15, 12, 35, 0));
insert Evt;
Event Evt1 = New Event(
OwnerId = '005i0000001gISQAA2',
subject = 'Demonstration',
event_type__c = 'Conference Call',
whatId = A.Id,
no_sa_needed__c = true,
startdatetime = datetime.newInstance(2018, 9, 15, 12, 30, 0),
enddatetime = datetime.newInstance(2018, 9, 15, 12, 35, 0));
insert Evt1;
Event Evt2 = New Event(
OwnerId = '005i0000001gISQAA2',
subject = 'Demonstration',
event_type__c = 'In_Person Meeting',
whatId = A.Id,
no_sa_needed__c = true,
startdatetime = datetime.newInstance(2018, 9, 15, 12, 30, 0),
enddatetime = datetime.newInstance(2018, 9, 15, 12, 35, 0));
insert Evt2;
}
}
Raj Vakati
Modify the test class as shown below
Jim Montgomery
Thanks you, but still getting too many soql queries error, this time on line 54.