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
sarahdevsarahdev 

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!

Best Answer chosen by Admin (Salesforce Developers) 
Abhi_TripathiAbhi_Tripathi

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

Abhi_TripathiAbhi_Tripathi

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();

 

       }

}

This was selected as the best answer
sarahdevsarahdev
I am getting an error stating that the method does not exist or incorrect signature: Test.startTest()

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
sarahdevsarahdev

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];

 

       } }