function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
EvertonSzekeresEvertonSzekeres 

Test Class for email trigger

Hi,

I am having difficulty when trying to create the test class for my trigger:

trigger Email_Pesquisa_Mercado_account on Account (after update) {

Map<Id,Account> accountMap = new Map<Id,Account>([Select Id, Name, (Select Id,Name,Price,Parcelas__c,Data_do_contrato__c,quantity,status from Assets where quantity>0 AND Data_do_contrato__c != null AND (NOT name like 'AR -%')) from Account Where recordtypeid='012U00000000vYx' AND Id in : Trigger.New]);

for(Account Ac : Trigger.New){
   String AssetName;
   Decimal ValorVenda;
   Decimal Parcelas;
   Date DataContrato;
   String SemEmail;
   String SemEmailprincipal;

   String Situacao;
   Situacao = ac.Situacao__c;
  if(Situacao.contains('APROVADA') && Trigger.oldMap.get(ac.id).pesquisa_de_mercado__c != ac.pesquisa_de_mercado__c && ac.pesquisa_de_mercado__c == '1 - Pesquisa Satisfação B2' && ac.antecipado__c != 'AR' && ac.antecipado__c != 'TES' && (ac.turma__c == '2013 2S - UNISA - MEDICINA - SAO PAULO' || ac.turma__c == '2013 2S - FAAP - ENG,ARQ,ECON,REL INT,S IN - SAO PAULO' || ac.turma__c == '2013 2S - UNICID - ODONTOLOGIA - SAO PAULO')){
   if(accountMap.get(Ac.Id).Assets.size() > 0){
    for(Asset obj : accountMap.get(Ac.Id).Assets){
        if(obj.name != null){
        if(AssetName==null){
        AssetName = obj.Name;
        }
     else{
     AssetName = AssetName + '<br> ' + ''+obj.Name+'';
    }
         ValorVenda = obj.Price;
         Parcelas = obj.Parcelas__c;    
         DataContrato = obj.Data_do_contrato__c.addDays(90);
         }
    }

            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
            String[] toAddresses = new String[]{};              
                if(ac.PersonEmail == null){
                SemEmailprincipal = 'sememail@b2agencia.com.br';
                    }
                if(ac.PersonEmail != null){
                 SemEmailprincipal = ac.PersonEmail;
                }                       

                toAddresses.add(SemEmailprincipal);               
                if(ac.Email_alternativo__c == null ){
                SemEmail = 'sememail@b2agencia.com.br';
                    }
                 if(ac.Email_alternativo__c != null){
                 SemEmail = ac.Email_alternativo__c;
                 }               
                toAddresses.add(SemEmail);               
            mail.setToAddresses(toAddresses);

            mail.setreplyto('foto.filmagem@b2agencia.com.br');
            mail.setSenderDisplayName('B2 Agência');

            mail.setSubject('B2 Foto e Filmagem: Seu álbum de formatura');
            mail.setHtmlBody('Olá, '+ac.FirstName+' '+ac.LastName+'<p>Primeiramente gostaríamos de parabenizá-lo pela conquista da sua formatura, sabemos que é um grande marco para o início da sua vida profissional. Desejamos que você tenha muito sucesso em sua caminhada!<p>Para guardar todas essas recordações, você efetuou a compra dos produtos abaixo:<p>'+AssetName+'<p>O valor total da sua compra é de R$ '+ValorVenda+', parcelado em '+Parcelas+' vezes.<p>Os produtos extras serão entregues até o dia '+DataContrato.day()+'/'+DataContrato.month()+'/'+DataContrato.year()+', no '+ac.Cidade__c+' - RUA '+ac.Endereco__c+', '+ac.Nro__c+'<p>O envio dos mesmos é feito pelo correio, que faz 3 tentativas de entrega. Caso o correio não consiga efetuar a entrega nas 3 tentativas, o produto volta para o escritório e vamos aguardar o seu contato nos informando um novo endereço de entrega.<p><font color="#EE7600"><b>PREOCUPADO COM A SATISFAÇÃO DE NOSSOS CLIENTES, BUSCAMOS PROMOVER MELHORIAS CONTÍNUAS EM NOSSOS SERVIÇOS E PRODUTOS, PARA ISSO, A SUA OPINIÃO É MUITO IMPORTANTE!<p>TIRE 2 MINUTINHOS DO SEU DIA PARA RESPONDER À NOSSA PESQUISA DE SATISFAÇÃO</font></b> <a href=http://sistemaff.force.com/B2/TIMBASURVEYS__Survey?id=a0UU0000005UKnaMAG&pAccId='+ac.id+'&wf=yes><font color="#458B00"><b>CLICANDO AQUI</b></font></a>.</p><br>Obrigado!<br><a href=http://sistemaff.force.com/B2/TIMBASURVEYS__Survey?id=a0UU0000005UKnaMAG&pAccId='+ac.id+'&wf=yes><img src="https://na12.salesforce.com/servlet/servlet.ImageServer?id=015U0000002G2fd&oid=00DU0000000KBJn" alt="B2"/>');

            Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
        }
        }
        }
        }
Any help will be great !

Thanks !

EvertonSzekeresEvertonSzekeres
I get 91%, but when I will deploy in my production appears to me 74%.

@istest(seealldata=true)
public class Email_Pesquisa_Mercado_test{
    static testmethod void unittest(){

   String AssetName;
   Decimal ValorVenda;
   Decimal Parcelas;
   Date DataContrato;
   String SemEmail;
   String SemEmailprincipal;

        Turma__c t=new Turma__c();
            t.name = '2013 2S - UNISA - MEDICINA - SAO PAULO';
            t.PIT__c = 'US000112';
        insert t;

        Product2 p=new Product2();
            p.Name = 'DVD';
        insert p;        

        Account acc=new Account();
            acc.FirstName = 'ANDREA';
            acc.LastName = 'SOLFERINI MORAES BARROS';
            acc.ID_do_formando__c = 'CP7_5011_000008';
            acc.Cidade__c = 'SÃO PAULO';
            acc.Endereco__c = 'RUA PHILIPP LOHBAUER';
            acc.Nro__c = '330';
            acc.turma__c = t.id;
            acc.pesquisa_de_mercado__c = null;
            acc.antecipado__c = null;
            acc.recordtypeid='012U00000000vYx';
            acc.PersonEmail = 'sememail@b2agencia.com.br';
            acc.Email_alternativo__c = 'sememail@b2agencia.com.br';
        insert acc;

        Asset a=new Asset();       
         a.name = p.id;
         a.Price = 100;
         a.Parcelas__c = 1;
         a.data_do_contrato__c = date.today();
         a.accountId = acc.id;
         a.quantity = 1;
         a.pesquisa_de_mercado__c = null;
        insert a;

         AssetName = a.Name;   
         ValorVenda = a.Price;
         Parcelas = a.Parcelas__c;    
         DataContrato = a.Data_do_contrato__c.addDays(90);
         SemEmail = acc.PersonEmail;
         SemEmailprincipal = acc.Email_alternativo__c;

        update a;

            acc.FirstName = 'ANDREA';
            acc.LastName = 'SOLFERINI MORAES BARROS';
            acc.ID_do_formando__c = 'CP7_5011_000008';
            acc.Cidade__c = 'SÃO PAULO';
            acc.Endereco__c = 'RUA PHILIPP LOHBAUER';
            acc.Nro__c = '330';
            acc.turma__c = t.id;
            acc.pesquisa_de_mercado__c = '1 - Pesquisa Satisfação B2';
            acc.antecipado__c = null;
            acc.recordtypeid='012U00000000vYx';
            acc.PersonEmail = 'sememail@b2agencia.com.br';
            acc.Email_alternativo__c = 'sememail@b2agencia.com.br';
            acc.situacao__c = 'VENDA APROVADA';
        update acc;
        }
}