//this is my before insert trigger
public with sharing class Account_Amount
{
public Account_Amount(){}
public void calAmmount(List<Account> accList){
AccountDiscount__c mc = AccountDiscount__c.getValues('AllUser');
for(Account acc: accList)
{
Double discount=mc.AcctDiscount__c/100;
acc.Ammount__c=acc.Ammount__c-(acc.Ammount__c*discount);
}
}
}
and my test class is
@isTest
public with sharing class Test_Acc_Amount
{
static testMethod void test1(){
Account o1 = new Account();
o1.Name='bhagyashri';
o1.Ammount__c=1000.00;
insert o1;
Account pAccount=[select Id,Name,Ammount__c from Account where Name='bhagyashri'];
System.assert(pAccount.Ammount__c==900.00);
}
}
I'm getting error failure message: system.dmlexception insert failed
and getting code coverage 87 %
Best Answer
Looks like your trigger code is retrieving a custom setting value.
Which API version is your test class written in? Because current versions default to seealldata=false which means that there won't be any data in the custom settings during the test execution.