You need to sign in to do that
Don't have an account?
OivlaSforce
Trigger deploy
Hi,
I have a simple update trigger that modify the references of object thread when a Case is updated. The test is successful in sandbox environment but I have a problem on the assertion when I try to deploy It on the server and the deploy fails. .
Someone can help me?
Thanks
Following the code:
trigger AccountUpdate on Case (before update) { for (Case c: Trigger.new){ Case oldCase = Trigger.oldMap.get(c.ID); if (c.AccountId != oldCase.AccountId || c.ContactId != oldCase.ContactId) { List<Thread__c> threadList = [SELECT Account__c FROM Thread__c WHERE Case__c= :c.id]; if(!threadList.isEmpty()){ for(Thread__c t: threadList){ System.debug('#### Aggiorno i Thread...con '+c.AccountId); t.Account__c = c.AccountId; t.Contact__c = c.ContactId; } update threadList; } } } }
@isTest private class TriggerTests { static testMethod void AccountUpdateTriggerTest(){ Account acct = new Account(name='test account'); Contact ct = new Contact(AccountId=acct.Id,lastname='testing',firstname='E2C'); insert acct; insert ct; Case c = new Case(); c.AccountId = acct.id; c.ContactId = ct.id; insert c; List<Thread__c> threadList = new List<Thread__c>(); for(Integer i=0; i<5; i++){ Thread__c t = new Thread__c(); t.Case__c = c.id; t.Account__c = c.AccountId; t.Contact__c = c.ContactId; threadList.add(t); } insert threadList; Account acct1 = new Account(name='test account nuovo'); Contact ct1 = new Contact(AccountId=acct1.Id,lastname='testing_nuovo',firstname='E2C_nuovo'); insert acct1; insert ct1; c.AccountId = acct1.id; c.ContactId = ct1.id; update c; threadList = [SELECT Account__c,Contact__c FROM Thread__c WHERE Case__c= :c.id]; for(Thread__c th : threadList){ System.assertEquals(c.AccountId,th.Account__c); System.assertEquals(c.ContactId,th.Contact__c); } } }
I just resolved the problem.
I had problems on test assertions.
However I resolved using the (SeeAllData=true) Annotation.
Thanks
All Answers
Are you getting the error "Too many SOQL rows"/"Too many DML statements" while deploying to production.?
If yes, this is due to the select query and dml statement inside the for loop..
I just resolved the problem.
I had problems on test assertions.
However I resolved using the (SeeAllData=true) Annotation.
Thanks
Anyway I suggest you to remove the Select query and DML statement from the for loop for optimized coding..
Thanks for your suggestion,
I'll remove it...