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

Writing a unit test for new trigger on account
Hello,
I need help writing test coverage for this trigger I created that will update my custom billing address fields on insert.
Trigger AddressMapNonStandardFields on Account(before insert){
For(Account a:Trigger.new){
a.Billing_Street_Number__c=a.BillingStreet;
a.Billing_Street_Name__c=a.BillingStreet;
a.Billing_City__c=a.BillingCity;
a.Billing_State_ABB__c=a.BillingState;
a.Billing_Zip_Code__c=a.BillingPostalCode;
}
}
Any help would be greatly appreciated!
Hey Sarahdev,
you can use this test class code and this post too
http://abhithetechknight.blogspot.in/2013/10/salesforce-test-class-basics.html
@isTest(seeAllData=false)
private class Test_AddressMapNonStandardFields {
//Method
static testMethod void AddressMapNonStandardFields () {
Test.startTest();
//Insert Account
Account acc = new Account(Name = 'test' , BillingStreet ='Street', BillingCity = 'City' , BillingState = 'State' , BillingPostalCode = '12121');
insert acc;
//Query on Account records
List<Account> accounts = [Select Id , Billing_Street_Number__c , Billing_Street_Name__c, Billing_City__c, Billing_State_ABB__c, Billing_Zip_Code__c From Account Where Id = : acc.Id];
//Assert
System.asser(accounts[0].Billing_Street_Number__c != null);
System.asser(accounts[0].Billing_Street_Name__c!= null);
System.asser(accounts[0].Billing_City__c!= null);
System.asser(accounts[0].Billing_State_ABB__c!= null);
System.asser(accounts[0].Billing_Zip_Code__c != null);
Test.stopTest();
}
}
All Answers
Hey Sarahdev,
you can use this test class code and this post too
http://abhithetechknight.blogspot.in/2013/10/salesforce-test-class-basics.html
@isTest(seeAllData=false)
private class Test_AddressMapNonStandardFields {
//Method
static testMethod void AddressMapNonStandardFields () {
Test.startTest();
//Insert Account
Account acc = new Account(Name = 'test' , BillingStreet ='Street', BillingCity = 'City' , BillingState = 'State' , BillingPostalCode = '12121');
insert acc;
//Query on Account records
List<Account> accounts = [Select Id , Billing_Street_Number__c , Billing_Street_Name__c, Billing_City__c, Billing_State_ABB__c, Billing_Zip_Code__c From Account Where Id = : acc.Id];
//Assert
System.asser(accounts[0].Billing_Street_Number__c != null);
System.asser(accounts[0].Billing_Street_Name__c!= null);
System.asser(accounts[0].Billing_City__c!= null);
System.asser(accounts[0].Billing_State_ABB__c!= null);
System.asser(accounts[0].Billing_Zip_Code__c != null);
Test.stopTest();
}
}
Sarah Stiffler
Senior Application Specialist
O: 248-784-2545
F: 248-784-2501
E: sstiffler@bullseyetelecom.com
BullsEye Telecom
Every Service. Every Location. Nationwide.
25925 Telegraph Rd | Ste. 210 | Southfield | MI 48033
www.bullseyetelecom.com
Finally got this working,
Trigger:
trigger
AddressMapNonStandardFields on Account(before insert) {
For(Account a: Trigger.new) {
if (a.AccountSource == 'Data.com' && Trigger.isInsert)
// Will only run this is a data.com
record and if it is a NEW record
{ a.Billing_Street_Number__c = a.BillingStreet.split(' ',2)[0];
a.Billing_Street_Name__c = a.BillingStreet.split(' ',2)[1];
a.Billing_City__c = a.BillingCity;
a.Billing_State_ABB__c = a.BillingState;
a.Billing_Zip_Code__c = a.BillingPostalCode;
}
}
}
Unit test:
@isTest(seeAllData=false) private class testaddressmap{
//Method static testMethod void AddressMapNonStandardFields () { //Insert Account Account acc = new Account(AccountSource ='Data.com',Name = 'test2' , BillingStreet ='123 Street2', BillingCity = 'City2' , BillingState = 'State2' , BillingPostalCode = '12121'); insert acc; //Query on Account records List<Account> accounts = [Select Id , Billing_Street_Number__c , Billing_Street_Name__c, Billing_City__c, Billing_State_ABB__c, Billing_Zip_Code__c From Account Where Id = : acc.Id];
} }