You need to sign in to do that
Don't have an account?
rosh
Please help me to write this test class? its urgent
//trigger by Raktim to restrict creation of PO based on Payment term (date:04/08/2022)
public class VConnect_PurchaseOrderTriggerHelper {
public static void beforeInsert(List<VConnect_Purchase_Order__c> purOrdr){
Id primaryInvRecId= Schema.SObjectType.Account.getRecordTypeInfosByName().get('Distributor').getRecordTypeId();
Account accountId = [SELECT Id,VConnect_Days__c FROM Account WHERE OwnerId=: System.UserInfo.getUserId() AND RecordTypeId =:primaryInvRecId LIMIT 1];
Set<String> payTerm = new Set<String>();
for(VConnect_Purchase_Order__c varP : purOrdr){
payTerm.add(varP.VConnect_Payment_Term__c);
}
List<VConnect_Payment_Term__c> payTermList = [SELECT Id,Name,VConnect_Days__c,VConnect_Payment_Term__c,VConnect_Payment_Term_Description__c
FROM VConnect_Payment_Term__c WHERE Name IN:payTerm];
for(VConnect_Purchase_Order__c varPO : purOrdr){
for(VConnect_Payment_Term__c varPT : payTermList){
if(varPT.VConnect_Days__c > accountId.VConnect_Days__c){
varPO.addError('Payment Term Days exceeding, select less no of days');
}
}
}
}
}
public class VConnect_PurchaseOrderTriggerHelper {
public static void beforeInsert(List<VConnect_Purchase_Order__c> purOrdr){
Id primaryInvRecId= Schema.SObjectType.Account.getRecordTypeInfosByName().get('Distributor').getRecordTypeId();
Account accountId = [SELECT Id,VConnect_Days__c FROM Account WHERE OwnerId=: System.UserInfo.getUserId() AND RecordTypeId =:primaryInvRecId LIMIT 1];
Set<String> payTerm = new Set<String>();
for(VConnect_Purchase_Order__c varP : purOrdr){
payTerm.add(varP.VConnect_Payment_Term__c);
}
List<VConnect_Payment_Term__c> payTermList = [SELECT Id,Name,VConnect_Days__c,VConnect_Payment_Term__c,VConnect_Payment_Term_Description__c
FROM VConnect_Payment_Term__c WHERE Name IN:payTerm];
for(VConnect_Purchase_Order__c varPO : purOrdr){
for(VConnect_Payment_Term__c varPT : payTermList){
if(varPT.VConnect_Days__c > accountId.VConnect_Days__c){
varPO.addError('Payment Term Days exceeding, select less no of days');
}
}
}
}
}
Try with below code and modify the test data.
If this helps, Please mark it as best answer.
Thanks!!