You need to sign in to do that
Don't have an account?
How to write the test method for the trigger to deploy
Hi,
I have the following trigger to deactivate, i do not know how to write the test method for this, can anyone please help me:
trigger Duplicate on Account (before insert, before update)
{
Map<String, Account> accountMap = new Map<String, Account>();
for (Account account : System.Trigger.new)
{
//expected to execute when converting leads to account
String tempAccountSite = '';
if (account.Site == null || account.Site == '')
{
account.Site = account.Lead_Site__c;
//force the formula of Account_Site_c since mapping of Lead Site to Account Site
//occurs after this trigger
tempAccountSite = account.Name + account.Lead_Site__c;
}
// Make sure we don't treat an Account_Site that is
// not changing during an update as a duplicate.
if ((account.Account_Site__c != null) && (System.Trigger.isInsert ||
(!account.Account_Site__c.EqualsIgnoreCase(System.Trigger.oldMap.get(account.ID).Account_Site__c))))
{
// Make sure another in the batch is not a duplicate
if (accountMap.containsKey(account.Account_Site__c.ToLowerCase()))
{
account.addError('A Account is a duplicate - Account Name and Account Site already exists');
}
else if (tempAccountSite != '')
{
accountMap.put(tempAccountSite.ToLowerCase(), Account);
}
else
{
accountMap.put(account.Account_Site__c.ToLowerCase(), Account);
}
}
}
for (Account account : [SELECT Account_Site__c from Account WHERE Account_Site__c IN :accountMap.KeySet()])
{
Account newAccount = accountMap.get(account.Account_Site__c.ToLowerCase());
if (newAccount != null)
{
newAccount.addError('B Account is a duplicate - Account Name and Account Site already exists');
}
}
}
hi..