• Lucas Andrade
  • NEWBIE
  • 20 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 2
    Replies
Hi,

I'm trying to deploy an change set to my org, but is saying my trigger has a code coverage of 0%, but i already created a teste class and the code covergare doesn't update! I'v already tried everything i know. Here's the code:

P.S.: The API names are in portuguese, but i think i doesn't matter because i need to know why the trigger is not been activaded

Trigger:
 
trigger triggerMembroDisparo on MembroDisparo__c (before insert, before update, before delete) {

	if(Trigger.isBefore) {
		if(Trigger.isInsert) {
			Campanhas_MembroDisparoBO.getInstance().calcularTotalHierarquia(Trigger.new);
		}

		if(Trigger.isUpdate) {
			Campanhas_MembroDisparoBO.getInstance().calcularTotalHierarquia(Trigger.new);
		}

		if(Trigger.isDelete) {
			Campanhas_MembroDisparoBO.getInstance().calcularTotalHierarquia(Trigger.old);
		}
	}
}

and here's the test class, where i'm inserting new records in the object:
 
@isTest
private class triggerMembroDisparoTest {
	
	@isTest 
	static void testaTrigger()
	{
		try 
		{
		  
			AgrupamentoCampanhas__c agrupamentoPai;
			AgrupamentoCampanhas__c agrupamentoFilho;
			Campanha__c campanhaConceito;
			Campanha__c campanhaPadrao;
			Map<String, RecordType> mapRecordTypeCampanha;
			DisparoEfetuado__c disparoEfetuado;
			List<MembroDisparo__c> lstMembrosDisparo;

			mapRecordTypeCampanha = RecordTypeDAO.getInstance().getRecordTypeBySobjectType('Campanha__c');

			agrupamentoPai = new AgrupamentoCampanhas__c();
			agrupamentoPai.Name = 'Agrupamento Pai';
			insert agrupamentoPai;

			agrupamentoFilho = new AgrupamentoCampanhas__c();
			agrupamentoFilho.Name = 'Agrupamento Filho';
			agrupamentoFilho.NomeAgrupamentoPai__c = agrupamentoPai.Id;
			insert agrupamentoFilho;

			PecaPublicitaria__c pecaPublicitaria = new PecaPublicitaria__c();
			pecaPublicitaria = InstanciaSObjectsForClassCoverage.getPecaPublicitaria();
			pecaPublicitaria.Segmento__c = 'Azul';
			insert pecaPublicitaria;

			campanhaConceito = new Campanha__c();
			campanhaConceito.RecordTypeId = mapRecordTypeCampanha.get('Conceito').Id;
			campanhaConceito.AgrupamentoCampanha__c = agrupamentoFilho.Id;
			campanhaConceito.PecaPublicitaria__c = pecaPublicitaria.Id;
			campanhaConceito.Segmento__c = 'Azul';
			campanhaConceito.DisponibilizarPortal__c = false;
			insert campanhaConceito;

			campanhaPadrao = new Campanha__c();
			campanhaPadrao.RecordTypeId = mapRecordTypeCampanha.get('Padrao').Id;
			campanhaPadrao.CampanhaConceito__c = campanhaConceito.Id;
			campanhaPadrao.PecaPublicitaria__c = pecaPublicitaria.Id;
			campanhaPadrao.Segmento__c = 'Azul';
			campanhaConceito.DisponibilizarPortal__c = false;
			insert campanhaPadrao;

			disparoEfetuado = new DisparoEfetuado__c();
			disparoEfetuado.Campanha__c = campanhaPadrao.Id;
		

			insert disparoEfetuado;

			lstMembrosDisparo = new List<MembroDisparo__c>();
			for(Integer i=0; i<5; i++) {
				MembroDisparo__c membroDisparo = new MembroDisparo__c();
				membroDisparo.Campanha__c = campanhaPadrao.Id;
				membroDisparo.DisparoEfetuado__c = disparoEfetuado.Id;
				membroDisparo.DataAbertura__c = System.today();
				membroDisparo.DataEnvio__c = System.today();
				membroDisparo.QuantidadeCliques__c = 1;

				lstMembrosDisparo.add(membroDisparo);
			}

			insert lstMembrosDisparo;
            
            MembroDisparo__c updateMembroDisparo;
            updateMembroDisparo = [SELECT QuantidadeCliques__c FROM MembroDisparo__c WHERE DataEnvio__c = :System.today()];
            updateMembroDisparo.QuantidadeCliques__c = 2;
            update updateMembroDisparo;
            
            


		} catch(Exception e) 
		{
		  System.debug(e.getMessage());
		}

	}
}

can someone help me please?
Hi!
I need to create a trigger that will populate a field with a value of other record of the same object. Here's the case:

I have a object called "timesheet__c" that contains an balance of hours worked for everybody in my company and we create new records every year to register new values. One of my fields calls "Last year balance" with the balance of hours of the previous year and i need that field to autopopulate everytime i create a new record in the object. How can i do this?

I have something like this, but is not working:
trigger SaldoAnterior on timesheet__c (before insert) {
    
        for(timesheet__c t : Trigger.New){
        List<timesheet__c> ts = [SELECT saldo_hora_ano_registro__c FROM timesheet__c WHERE colaborador__c = : t.colaborador__c AND ano_referencia__c = '2015'];
        t.saldo_ano_anterior__c = ts.saldo_hora_ano_registro__c; 
}
}
Hi!
I need to create a trigger that will populate a field with a value of other record of the same object. Here's the case:

I have a object called "timesheet__c" that contains an balance of hours worked for everybody in my company and we create new records every year to register new values. One of my fields calls "Last year balance" with the balance of hours of the previous year and i need that field to autopopulate everytime i create a new record in the object. How can i do this?

I have something like this, but is not working:
trigger SaldoAnterior on timesheet__c (before insert) {
    
        for(timesheet__c t : Trigger.New){
        List<timesheet__c> ts = [SELECT saldo_hora_ano_registro__c FROM timesheet__c WHERE colaborador__c = : t.colaborador__c AND ano_referencia__c = '2015'];
        t.saldo_ano_anterior__c = ts.saldo_hora_ano_registro__c; 
}
}