You need to sign in to do that
Don't have an account?
Sylvio Avilla
Test Class for Overlap Trigger
Hello Everyone,
I'm having some trouble to get 75% coverage for the Trigger below:
The Test is this:
Cloud anyone point me the right direction
Thanks
I'm having some trouble to get 75% coverage for the Trigger below:
trigger Overlap on Viagem__c (before insert, before update) { List<Viagem__c> overlaps=[select Name,Observa_o__c,Data_Chegada_Base__c,Hora_Saida_Base__c,Hora_Inicio_Linha__c,Hora_Fim_Linha__c,Hora_Chegada_Base__c,Data_da_Viagem__c,Motorista__c,Veiculo__c from Viagem__c where ((Hora_Saida_Base__c >:trigger.new[0].Hora_Saida_Base__c AND Hora_Saida_Base__c < :trigger.new[0].Hora_Chegada_Base__c) OR (Hora_Chegada_Base__c > :trigger.new[0].Hora_Saida_Base__c AND Hora_Chegada_Base__c < :trigger.new[0].Hora_Chegada_Base__c) OR (Hora_Saida_Base__c < :trigger.new[0].Hora_Saida_Base__c AND Hora_Chegada_Base__c > :trigger.new[0].Hora_Chegada_Base__c)) AND Veiculo__c=:trigger.new[0].Veiculo__c AND Data_da_Viagem__c=:trigger.new[0].Data_da_Viagem__c AND Id !=:trigger.new[0].Id ]; if (!overlaps.isEmpty() ) { if (trigger.new[0].Hora_Saida_Base__c == null|| trigger.new[0].Data_Chegada_Base__c <> trigger.new[0].Data_da_Viagem__c ) {} Else { If (overlaps[0].Motorista__c == trigger.new[0].Motorista__c){ trigger.new[0].addError('<span>Viagem com horário concorrente para o Veículo!<b></b></br><b>Viagem:</b></span>' +overlaps[0].Name+'<span><b>.</b></br><b>Ficha:</b></span>'+overlaps[0].Observa_o__c +'<span><b>.</b></br><b>Saída da Base:</b></span>'+overlaps[0].Hora_Saida_Base__c +'<span><b>.</b></br><b>Chegada na Base:</b></span>'+overlaps[0].Hora_Chegada_Base__c ,false);} Else{ //trigger.new[0].Duplicado__c = overlaps[0].Name; trigger.new[0].addError('<span>Viagem com horário concorrente para o Motorista!<b></b></br><b>Viagem:</b></span>' +overlaps[0].Name+'<span><b>.</b></br><b>Ficha:</b></span>'+overlaps[0].Observa_o__c +'<span><b>.</b></br><b>Saída da Base:</b></span>'+overlaps[0].Hora_Saida_Base__c +'<span><b>.</b></br><b>Chegada na Base:</b></span>'+overlaps[0].Hora_Chegada_Base__c ,false);} } } }
The Test is this:
@isTest public class TestOverlap { static testMethod void TestOverlapComOverlap() { date mydate = date.parse('01/01/2015'); Itinerario_Diario__c itinerario = new Itinerario_Diario__c (Dia__c = mydate ); insert itinerario; Funcionarios__c motorista = new Funcionarios__c(); insert motorista; Veiculo__c veiculo = new Veiculo__c (); insert veiculo; Viagem__c teste = new Viagem__c( Itinerario_Diario__c = itinerario.ID, Hora_Saida_Base__c = '0100', Hora_Inicio_Linha__c = '0200', Hora_Fim_Linha__c = '0300', Hora_Chegada_Base__c = '0400', Motorista__c = motorista.ID, Veiculo__c = veiculo.ID ) ; insert teste; try{ Viagem__c testeduplicado = new Viagem__c( Itinerario_Diario__c = itinerario.ID, Hora_Saida_Base__c = '0110', Hora_Inicio_Linha__c = '0210', Hora_Fim_Linha__c = '0310', Hora_Chegada_Base__c = '0410', Motorista__c = motorista.ID, Veiculo__c = motorista.ID); insert testeduplicado; } catch(DmlException e) { System.debug('The following exception has occurred: ' + e.getMessage()); } }
Cloud anyone point me the right direction
Thanks
Change your test class code and add another method in it like this :
@isTest
public class TestOverlap {
static testMethod void TestOverlapComOverlap() {
date mydate = date.parse('01/01/2015');
Itinerario_Diario__c itinerario = new Itinerario_Diario__c (Dia__c = mydate );
insert itinerario;
Funcionarios__c motorista = new Funcionarios__c();
insert motorista;
Veiculo__c veiculo = new Veiculo__c ();
insert veiculo;
Viagem__c teste = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0100',
Hora_Inicio_Linha__c = '0200',
Hora_Fim_Linha__c = '0300',
Hora_Chegada_Base__c = '0400',
Motorista__c = motorista.ID,
Veiculo__c = veiculo.ID ) ;
insert teste;
try{
Viagem__c testeduplicado = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0110',
Hora_Inicio_Linha__c = '0210',
Hora_Fim_Linha__c = '0310',
Hora_Chegada_Base__c = '0410',
Motorista__c = motorista.ID,
Veiculo__c = motorista.ID);
insert testeduplicado;
}
catch(DmlException e) {
System.debug('The following exception has occurred: ' + e.getMessage());
}
static testMethod void TestOverlapComOverlap1() {
date mydate = date.parse('01/01/2015');
Itinerario_Diario__c itinerario = new Itinerario_Diario__c (Dia__c = mydate );
insert itinerario;
Funcionarios__c motorista = new Funcionarios__c();
insert motorista;
Funcionarios__c motorista1 = new Funcionarios__c();
insert motorista1;
Veiculo__c veiculo = new Veiculo__c ();
insert veiculo;
Viagem__c teste = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0100',
Hora_Inicio_Linha__c = '0200',
Hora_Fim_Linha__c = '0300',
Hora_Chegada_Base__c = '0400',
Motorista__c = motorista.ID,
Veiculo__c = veiculo.ID ) ;
insert teste;
try{
Viagem__c testeduplicado = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0110',
Hora_Inicio_Linha__c = '0210',
Hora_Fim_Linha__c = '0310',
Hora_Chegada_Base__c = '0410',
Motorista__c = motorista1.ID,
Veiculo__c = motorista1.ID);
insert testeduplicado;
}
catch(DmlException e) {
System.debug('The following exception has occurred: ' + e.getMessage());
}
}
Regards,
Abhishek
All Answers
Change your test class code and add another method in it like this :
@isTest
public class TestOverlap {
static testMethod void TestOverlapComOverlap() {
date mydate = date.parse('01/01/2015');
Itinerario_Diario__c itinerario = new Itinerario_Diario__c (Dia__c = mydate );
insert itinerario;
Funcionarios__c motorista = new Funcionarios__c();
insert motorista;
Veiculo__c veiculo = new Veiculo__c ();
insert veiculo;
Viagem__c teste = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0100',
Hora_Inicio_Linha__c = '0200',
Hora_Fim_Linha__c = '0300',
Hora_Chegada_Base__c = '0400',
Motorista__c = motorista.ID,
Veiculo__c = veiculo.ID ) ;
insert teste;
try{
Viagem__c testeduplicado = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0110',
Hora_Inicio_Linha__c = '0210',
Hora_Fim_Linha__c = '0310',
Hora_Chegada_Base__c = '0410',
Motorista__c = motorista.ID,
Veiculo__c = motorista.ID);
insert testeduplicado;
}
catch(DmlException e) {
System.debug('The following exception has occurred: ' + e.getMessage());
}
static testMethod void TestOverlapComOverlap1() {
date mydate = date.parse('01/01/2015');
Itinerario_Diario__c itinerario = new Itinerario_Diario__c (Dia__c = mydate );
insert itinerario;
Funcionarios__c motorista = new Funcionarios__c();
insert motorista;
Funcionarios__c motorista1 = new Funcionarios__c();
insert motorista1;
Veiculo__c veiculo = new Veiculo__c ();
insert veiculo;
Viagem__c teste = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0100',
Hora_Inicio_Linha__c = '0200',
Hora_Fim_Linha__c = '0300',
Hora_Chegada_Base__c = '0400',
Motorista__c = motorista.ID,
Veiculo__c = veiculo.ID ) ;
insert teste;
try{
Viagem__c testeduplicado = new Viagem__c(
Itinerario_Diario__c = itinerario.ID,
Hora_Saida_Base__c = '0110',
Hora_Inicio_Linha__c = '0210',
Hora_Fim_Linha__c = '0310',
Hora_Chegada_Base__c = '0410',
Motorista__c = motorista1.ID,
Veiculo__c = motorista1.ID);
insert testeduplicado;
}
catch(DmlException e) {
System.debug('The following exception has occurred: ' + e.getMessage());
}
}
Regards,
Abhishek