Skip to main content Join us at TDX in San Francisco or on Salesforce+ on March 5-6 for the Developer Conference for the AI Agent Era. Register now.
error

We made a wrong turn. Try again.

I am unable to resolve my test class. Before including trigger.oldmap it was 80% coverage. Now it is 0%. Any suggestions could be helpful for me.

Thank you.

Trigger:

trigger populateOpportunityfromContact on Opportunity (before insert , before update)

{

Set<ID> ConIds = new Set<ID>();

for(Opportunity opp : trigger.new)

{

ConIds.add(opp.RSM_Shipping_Contact__c);

}

list <contact> conlist = [SELECT Email,Id,MailingCity,MailingCountry,MailingPostalCode,MailingState,MailingStreet,Phone FROM Contact where id IN:ConIds];

MAP<ID , contact> mapCon = new MAP<ID , Contact>();

for(Contact c : conlist)

{

mapcon.put(c.id,c);

}

for(Opportunity opp : trigger.new)

{

if(trigger.oldmap.get(opp.Id).RSM_Shipping_Contact__c != opp.RSM_Shipping_Contact__c)

{

if(opp.RSM_Shipping_Contact__c!=null)

{

if(mapcon.containskey(opp.RSM_Shipping_Contact__c))

{

contact c = mapcon.get(opp.RSM_Shipping_Contact__c);

opp.Shipping_Street__c = c.MailingStreet;

opp.Shipping_City__c = c.MailingCity;

opp.Shipping_State__c = c.MailingState;

opp.Shipping_Country__c= c.MailingCountry;

opp.Shipping_postal_code__c = c.MailingPostalCode;

opp.Shipping_Email__c = c.Email;

opp.Shipping_Phone__c = c.phone;

}

}

else

{

opp.Shipping_Street__c = null;

opp.Shipping_City__c = null;

opp.Shipping_State__c = null;

opp.Shipping_Country__c= null;

opp.Shipping_postal_code__c = null;

opp.Shipping_Email__c = null;

opp.Shipping_Phone__c = null;

}

}

}

}

Test Class:

 

@istest

public class populateOpportunityfromContactTestclass

{

@testSetup static void setup()

{

contact c = new contact();

c.lastname = 'Gopi Jayaram';

c.mailingstreet = '1409 Roper Mountain Road';

c.mailingcity = 'Greenville';

c.mailingstate = 'South Carolina';

c.mailingcountry = 'United State of America';

c.mailingpostalcode = '29615';

c.email = 'gopijayaram@gmail.com';

c.phone = '4053786543';

insert c;

opportunity o = new opportunity();

o.name = 'Gopi Jayaram ATT';

o.RSM_Shipping_Contact__c = c.id;

o.stagename = 'prospecting';

o.closedate = Date.today();

insert o;

}

Static testMethod void insertItemNull()

{

Opportunity op = [Select id, name,Shipping_Street__c from opportunity where name = 'Gopi Jayaram ATT' ];

// contact ct = [Select id,email,phone,mailingstreet,mailingcity,mailingstate,mailingcountry,mailingpostalcode from contact where name = 'Gopi Jayaram' ];

System.assertnotequals(op.Shipping_Street__c,null);

}

Static testMethod void insertItem()

{

Opportunity op = [Select id, name,Shipping_Street__c from opportunity where name = 'Gopi Jayaram ATT' ];

contact ct = [Select id,email,phone,mailingstreet,mailingcity,mailingstate,mailingcountry,mailingpostalcode from contact where name = 'Gopi Jayaram' ];

System.assertequals(op.Shipping_Street__c,ct.mailingstreet);

}

}

 
2 answers
  1. Jun 8, 2015, 11:13 PM
    trigger populateOpportunityfromContact on Opportunity (before insert , before update)

    {

        

        Set<ID> ConIds = new Set<ID>();

        for(Opportunity opp : trigger.new)

        {

              ConIds.add(opp.RSM_Shipping_Contact__c);    

        }

        list <contact> conlist = [SELECT Email,Id,MailingCity,MailingCountry,MailingPostalCode,MailingState,MailingStreet,Phone FROM Contact where id IN:ConIds];

         MAP<ID , contact> mapCon = new MAP<ID , Contact>();

         for(Contact c : conlist)

         {

            mapcon.put(c.id,c);

         }

         for(Opportunity opp : trigger.new)

         {

             if(Trigger.isUpdate){

                 Opportunity oldopp = Trigger.oldMap.get(opp.Id);

             

             if(opp.RSM_Shipping_Contact__c  != oldopp.RSM_Shipping_Contact__c )

          {

            if(opp.RSM_Shipping_Contact__c!=null)

            {

            if(mapcon.containskey(opp.RSM_Shipping_Contact__c))

            {

              contact c = mapcon.get(opp.RSM_Shipping_Contact__c);

              opp.Shipping_Street__c = c.MailingStreet;

              opp.Shipping_City__c = c.MailingCity;

              opp.Shipping_State__c = c.MailingState;

              opp.Shipping_Country__c= c.MailingCountry;

              opp.Shipping_postal_code__c = c.MailingPostalCode;

              opp.Shipping_Email__c = c.Email;

              opp.Shipping_Phone__c = c.phone;

            

           

            }

            }

          }

               

            else

            {

                

              opp.Shipping_Street__c = null;

              opp.Shipping_City__c = null;

              opp.Shipping_State__c = null;

              opp.Shipping_Country__c= null;

              opp.Shipping_postal_code__c = null;

              opp.Shipping_Email__c = null;

              opp.Shipping_Phone__c = null;

            }  

            }

           

             

        

            

             }

    }

    TEST CLASS

    @istest(seealldata=true)

    public class populateOpportunityfromContactTestclass

    {

         Static testMethod void insertItemNull()

         {

            contact c = new contact();

            c.lastname = 'Gopi Jayaram';

            c.mailingstreet = '1409 Roper Mountain Road';

            c.mailingcity = 'Greenville';

            c.mailingstate = 'South Carolina';

            c.mailingcountry = 'United State of America';

            c.mailingpostalcode = '29615';

            c.email = 'gopijayaram@gmail.com';

            c.phone = '4053786543';

            insert c;

            

            

            opportunity o = new opportunity();

            o.name = 'Gopi Jayaram ATT';

            o.stagename = 'prospecting';

            o.closedate = Date.today();

             

            insert o;

             o.RSM_Shipping_Contact__c = null;

             upsert o;

             

             Opportunity op = [Select id, name,Shipping_Street__c,RSM_Shipping_Contact__c from opportunity where id=:o.Id];

            // contact ct = [Select id,email,phone,mailingstreet,mailingcity,mailingstate,mailingcountry,mailingpostalcode from contact where name = 'Gopi Jayaram' ];

             System.assertequals(op.Shipping_Street__c,null);

             System.assertEquals(op.RSM_Shipping_Contact__c, null);

         } 

          Static testMethod void insertItem()

         {

             contact c = new contact();

            c.lastname = 'Gopi Jayaram';

            c.mailingstreet = '1409 Roper Mountain Road';

            c.mailingcity = 'Greenville';

            c.mailingstate = 'South Carolina';

            c.mailingcountry = 'United State of America';

            c.mailingpostalcode = '29615';

            c.email = 'gopijayaram@gmail.com';

            c.phone = '4053786543';

            insert c;

            

            

            opportunity o = new opportunity();

            o.name = 'Gopi Jayaram ATT';

            o.stagename = 'prospecting';

            o.closedate = Date.today();

            insert o;

             o.Probability = 100.00;

                     o.RSM_Shipping_Contact__c = c.id;

             o.Shipping_City__c = c.MailingCity;

             o.Shipping_Street__c = c.MailingStreet;

             upsert o;

             Opportunity op = [Select id, name,Shipping_Street__c,Shipping_State__c,     RSM_Shipping_Contact__c,

    Shipping_City__c,Shipping_Postal_Code__c,Shipping_Country__c,Shipping_Email__c,Shipping_Phone__c from Opportunity where Name= 'Gopi Jayaram ATT'];

            contact ct = [Select id,email,phone,mailingstreet,mailingcity,mailingstate,mailingcountry,mailingpostalcode from contact where name = 'Gopi Jayaram' ];

             System.assertequals(op.Shipping_Street__c,ct.mailingstreet);

             System.assertequals(op.Shipping_State__c,ct.MailingState);

             System.assertequals(op.Shipping_city__c,ct.MailingCity);

             System.assertequals(op.Shipping_Country__c,ct.MailingCountry);

             System.assertequals(op.Shipping_Postal_Code__c,ct.MailingPostalCode);

             System.assertequals(op.RSM_Shipping_Contact__c,ct.Id);

         } 

    }

    HOPE THIS IS HELPFULL. MARK AS A SOLUTION IF THIS WORKS FOR YOU SO IT WOULD BE A FUTURE REFERENCE TO OTHERS.

    THANKS,

    ANDY.
0/9000