this is my trigger
trigger Before_Trigger on eTMFFolder__c ( before insert,before update ) {
List<eTMFFolder__c> setupObjectList = [ SELECT id from eTMFFolder__c WHERE isActive__c = true ];
for ( eTMFFolder__c setup : Trigger.new ) {
if(Trigger.isInsert){
**if( setup.isActive__c && setupObjectList.size() > 0){**
setup.addError( 'There Can only one Record Active At the Same Time.' );
}
}
if(Trigger.isUpdate){
**if( Trigger.oldMap.get(setup.Id).isActive__c != setup.isActive__c && setup.isActive__c && setupObjectList.size() > 0){**
setup.addError( 'There Can only one Record Active At the Same Time.' );
}
}
}
}
this is my test class of trigger
@isTest
private class Before_TriggerTest{
public static testMethod void unitTest(){
eTMFFolder__c obj = new eTMFFolder__c();
obj.Type__c = 'Dropbox';
obj.isActive__c = true;
insert obj;
List<eTMFFolder__c> setupObjectList = [ SELECT id from eTMFFolder__c WHERE isActive__c = true ];
system.assertEquals(setupObjectList.size(),1);
}
public static testMethod void unitTestsecond(){
list<eTMFFolder__c> eTMFFolder = new list<eTMFFolder__c>();
eTMFFolder__c obj = new eTMFFolder__c();
obj.Type__c = 'Dropbox';
obj.isActive__c = false;
insert obj;
obj.isActive__c = true;
update obj;
List<eTMFFolder__c> setupObjectList = [ SELECT id from eTMFFolder__c WHERE isActive__c = true ];
system.assertEquals(setupObjectList.size(),1);
}
}