github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/core/utils/mails/mails_test.go (about)

     1  package mails
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"testing"
     7  	"time"
     8  
     9  	"github.com/benoitkugler/goACVE/logs"
    10  
    11  	rd "github.com/benoitkugler/goACVE/server/core/rawdata"
    12  )
    13  
    14  const PATH = "../../../../"
    15  
    16  func init() {
    17  	InitTemplates(PATH + "ressources")
    18  	fmt.Println("Templates chargés.")
    19  }
    20  
    21  func TestPrein(t *testing.T) {
    22  	html, err := NewPreinscription("smsld@free.fr", []TargetRespo{
    23  		{NomPrenom: "lkdkmslkd", Lien: "http://free.fr"},
    24  		{NomPrenom: "sdsd"},
    25  		{NomPrenom: "lkdkmssdsdlkd"},
    26  	})
    27  
    28  	if err != nil {
    29  		t.Fatal(err)
    30  	}
    31  	if err := ioutil.WriteFile(PATH+"local/mail1_preinscription.html", []byte(html), 0666); err != nil {
    32  		t.Fatal(err)
    33  	}
    34  }
    35  
    36  func TestRenvoieLien(t *testing.T) {
    37  	html, err := NewRenvoieLienEspacePerso("smsld@free.fr", []ResumeDossier{
    38  		{
    39  			Responsable: rd.BasePersonne{Nom: "lkd  kmsslkd", Prenom: "ddd zz"},
    40  			Lien:        "http://free.fr",
    41  			CampsMap: rd.Camps{
    42  				1: {Nom: "C2", DateDebut: rd.Date(time.Now())},
    43  				2: {Nom: "C2", DateDebut: rd.Date(time.Now())},
    44  			},
    45  		},
    46  		{
    47  			Responsable: rd.BasePersonne{Nom: "lkdkmslkd", Prenom: "dAadd"},
    48  			Lien:        "http://free.fr",
    49  			CampsMap: rd.Camps{
    50  				1: {Nom: "C2", DateDebut: rd.Date(time.Now())},
    51  			},
    52  		},
    53  		{
    54  			Responsable: rd.BasePersonne{Nom: "lkd-kmslkd", Prenom: "ddd"},
    55  			Lien:        "http://free.fr",
    56  			CampsMap: rd.Camps{
    57  				1: {Nom: "C2", DateDebut: rd.Date(time.Now())},
    58  				2: {Nom: "C2", DateDebut: rd.Date(time.Now())},
    59  				3: {Nom: "C2", DateDebut: rd.Date(time.Now())},
    60  			},
    61  		}})
    62  
    63  	if err != nil {
    64  		t.Fatal(err)
    65  	}
    66  	if err := ioutil.WriteFile(PATH+"local/mail1_renvoie_lien.html", []byte(html), 0666); err != nil {
    67  		t.Fatal(err)
    68  	}
    69  }
    70  
    71  func TestValide(t *testing.T) {
    72  	html, err := NewValideMail(
    73  		"http://acve.fr/inscription/valide?data:cryp4tedinscriptin",
    74  		Contact{Prenom: "Claudy", Sexe: "F"})
    75  
    76  	if err != nil {
    77  		t.Fatal(err)
    78  	}
    79  	if err := ioutil.WriteFile(PATH+"local/mail1_valide_inscription.html", []byte(html), 0666); err != nil {
    80  		t.Fatal(err)
    81  	}
    82  }
    83  
    84  func TestNotifieMessage(t *testing.T) {
    85  	html, err := NewNotifieMessage(
    86  		Contact{Prenom: "Claudy", Sexe: "F"},
    87  		"Inscription validée",
    88  		"sdlmdmlk",
    89  		"http://acve.fr/ins  ription/valide?data:cryp4tedinscriptin",
    90  	)
    91  	if err != nil {
    92  		t.Fatal(err)
    93  	}
    94  	if err := ioutil.WriteFile(PATH+"local/mail_01_notifie.html", []byte(html), 0666); err != nil {
    95  		t.Fatal(err)
    96  	}
    97  }
    98  
    99  func TestNotifFusion(t *testing.T) {
   100  	html, err := NewNotifFusion(
   101  		Contact{Prenom: "Claudy", Sexe: "F"},
   102  		"http://acve.fr/insription/valide?data:cryp4tedinscriptin",
   103  	)
   104  	if err != nil {
   105  		t.Fatal(err)
   106  	}
   107  	if err := ioutil.WriteFile(PATH+"local/mail_01_fusion.html", []byte(html), 0666); err != nil {
   108  		t.Fatal(err)
   109  	}
   110  }
   111  
   112  func TestAccuseSimple(t *testing.T) {
   113  	html, err := NewAccuseReceptionSimple(rd.Camp{Nom: "TEST", DateDebut: rd.Date(time.Now())},
   114  		Contact{Prenom: "Benoit", Sexe: "F"})
   115  
   116  	if err != nil {
   117  		t.Fatal(err)
   118  	}
   119  	if err := ioutil.WriteFile(PATH+"local/mail2_accuse_simple.html", []byte(html), 0666); err != nil {
   120  		t.Fatal(err)
   121  	}
   122  }
   123  
   124  func TestDebloqueFS(t *testing.T) {
   125  	html, err := NewDebloqueFicheSanitaire(
   126  		"http://acve.fr/inscription/valide?data:cryptedinscription",
   127  		"bench26@gmail.com", "Audrey Ta utoou")
   128  
   129  	if err != nil {
   130  		t.Fatal(err)
   131  	}
   132  	if err := ioutil.WriteFile(PATH+"local/mail7_debloque_fs.html", []byte(html), 0666); err != nil {
   133  		t.Fatal(err)
   134  	}
   135  }
   136  
   137  func TestNotifications(t *testing.T) {
   138  	html, err := NewNotifieEnvoiDocs(rd.Camp{
   139  		DateDebut: rd.Date(time.Now()),
   140  		Nom:       "C2",
   141  		Envois:    rd.Envois{Locked: true, ListeVetements: true},
   142  	})
   143  
   144  	if err != nil {
   145  		t.Fatal(err)
   146  	}
   147  	if err := ioutil.WriteFile(PATH+"local/mail_notif_doc.html", []byte(html), 0666); err != nil {
   148  		t.Fatal(err)
   149  	}
   150  
   151  }
   152  
   153  func TestNotifieDirecteur(t *testing.T) {
   154  	html, err := NewNotifieDirecteur(
   155  		Contact{Prenom: "Benoit", Sexe: "F"},
   156  		nil,
   157  		Responsable{},
   158  		nil,
   159  		"C2 2019",
   160  	)
   161  
   162  	if err != nil {
   163  		t.Fatal(err)
   164  	}
   165  	if err := ioutil.WriteFile(PATH+"local/mail9_directeur.html", []byte(html), 0666); err != nil {
   166  		t.Fatal(err)
   167  	}
   168  	ccs := []string{}
   169  	err = NewMailer(logs.SmtpDev).SendMail("bench26@gmail.com", "Test", html, ccs, DefaultReplyTo)
   170  	if err != nil {
   171  		t.Fatal(err)
   172  	}
   173  	err = NewMailer(logs.SmtpDev).SendMail("bench26@gmail.com", "Test", html, ccs, CustomReplyTo("x.ben.x@free.fr"))
   174  	if err != nil {
   175  		t.Fatal(err)
   176  	}
   177  }
   178  
   179  func TestInviteEquipier(t *testing.T) {
   180  	html, err := NewInviteEquipier(rd.Camp{
   181  		Nom:       "C3",
   182  		DateDebut: rd.Date(time.Now()),
   183  	}, "Vincent", rd.Personne{BasePersonne: rd.BasePersonne{
   184  		Prenom: "Cl audie",
   185  		Sexe:   rd.Sexe("F"),
   186  	}}, "http://test.fr")
   187  
   188  	if err != nil {
   189  		t.Fatal(err)
   190  	}
   191  	if err := ioutil.WriteFile(PATH+"local/mail10_equipier.html", []byte(html), 0666); err != nil {
   192  		t.Fatal(err)
   193  	}
   194  	// err = EnvoiMail("x.ben.x@free.fr", "Test", html, logs.SmtpDev, nil, nil)
   195  	// if err != nil {
   196  	// 	t.Fatal(err)
   197  	// }
   198  }
   199  
   200  // func TestPool(t *testing.T) {
   201  // 	html, err := NewValideMail("", Contact{Prenom: "Benoit", Sexe: "F"})
   202  
   203  // 	if err != nil {
   204  // 		t.Fatal(err)
   205  // 	}
   206  
   207  // 	credences := logs.SmtpDev
   208  // 	if err != nil {
   209  // 		t.Fatal(err)
   210  // 	}
   211  // 	fn := PATH + "local/facture.pdf"
   212  // 	content, err := ioutil.ReadFile(fn)
   213  // 	if err != nil {
   214  // 		t.Fatal(err)
   215  // 	}
   216  
   217  // 	pjs := []PieceJointe{{Content: content, Filename: fn}}
   218  // 	p, err := NewPool(credences, pjs)
   219  
   220  // 	for i := 0; i < 3; i++ {
   221  // 		if err = p.SendMail("", "[ACVE] test", html, nil, nil); err != nil {
   222  // 			t.Fatal(err)
   223  // 		}
   224  // 	}
   225  // 	p.Close()
   226  // }
   227  
   228  func TestNotificationDon(t *testing.T) {
   229  	html, err := NewNotificationDon(Contact{Prenom: "Benoit", Sexe: rd.SFemme}, 45.458)
   230  	if err != nil {
   231  		t.Fatal(err)
   232  	}
   233  	if err := ioutil.WriteFile(PATH+"local/notification_don.html", []byte(html), 0666); err != nil {
   234  		t.Fatal(err)
   235  	}
   236  }