github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/directeurs/equipiers_test.go (about)

     1  package directeurs
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  	"time"
     7  
     8  	rd "github.com/benoitkugler/goACVE/server/core/rawdata"
     9  	"github.com/benoitkugler/goACVE/server/core/rawdata/matching"
    10  )
    11  
    12  func TestRecherche(t *testing.T) {
    13  	// Comparaison
    14  	ti := time.Now()
    15  	_, err := rd.SelectAllPersonnes(ct.DB)
    16  	if err != nil {
    17  		t.Fatal(err)
    18  	}
    19  	fmt.Println("Full personnes :", time.Since(ti))
    20  
    21  	ti = time.Now()
    22  	out, err := ct.chercheSimilaires(matching.PatternsSimilarite{Nom: "be"})
    23  	if err != nil {
    24  		t.Fatal(err)
    25  	}
    26  	fmt.Println("Only similaires fields :", time.Since(ti))
    27  	fmt.Println(len(out))
    28  }
    29  
    30  func TestPieces(t *testing.T) {
    31  	req := newDummyRequest(t, forceComplet)
    32  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
    33  	if err != nil {
    34  		t.Fatal(err)
    35  	}
    36  
    37  	ti := time.Now()
    38  	if err := rc.loadDataDocumentsEquipiers(); err != nil {
    39  		t.Fatal(err)
    40  	}
    41  	fmt.Println("fetching documents data :", time.Since(ti))
    42  	l, err := rc.getPiecesJustificatives("localhost")
    43  	if err != nil {
    44  		t.Fatal(err)
    45  	}
    46  	if len(l.Documents) == 0 {
    47  		t.Fatal("aucun equipier")
    48  	}
    49  	idContraintes := ct.ContraintesEquipiers.Ids()
    50  
    51  	params := UpdateContrainteEquipierIn{IdContrainte: idContraintes[0], IdEquipier: l.Documents[0].IdEquipier}
    52  	for demande := range rd.OptionnalBoolLabels {
    53  		params.Demande = demande
    54  		err = rc.setExigenceDocument(params)
    55  		if err != nil {
    56  			t.Fatal(err)
    57  		}
    58  	}
    59  }
    60  
    61  func TestEquipe(t *testing.T) {
    62  	req := newDummyRequest(t, forceComplet)
    63  	ti := time.Now()
    64  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
    65  	if err != nil {
    66  		t.Fatal(err)
    67  	}
    68  	fmt.Println("loading equipiers :", time.Since(ti))
    69  
    70  	ti = time.Now()
    71  	liste, err := rc.getEquipe("test")
    72  	if err != nil {
    73  		t.Fatal(err)
    74  	}
    75  	fmt.Println("resolving liste :", time.Since(ti))
    76  	fmt.Println(liste)
    77  }
    78  
    79  func TestCreeEquipier(t *testing.T) {
    80  	req := newDummyRequest(t, forceComplet)
    81  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
    82  	if err != nil {
    83  		t.Fatal(err)
    84  	}
    85  
    86  	pers, err := rd.SelectAllPersonnes(ct.DB)
    87  	if err != nil {
    88  		t.Fatal(err)
    89  	}
    90  	var idPersonne int64
    91  	for _, personne := range pers {
    92  		if !personne.IsTemporaire {
    93  			idPersonne = personne.Id
    94  			break
    95  		}
    96  	}
    97  	equipier1, err := rc.rattacheEquipier(idPersonne, rd.RAideAnimation.AsRoles())
    98  	if err != nil {
    99  		t.Fatal(err)
   100  	}
   101  	equipier2, err := rc.ajouteEquipierTmp(matching.PatternsSimilarite{Nom: "KK", Prenom: "Test"}, rd.Roles{rd.RAdjoint, rd.RFactotum})
   102  	if err != nil {
   103  		t.Fatal(err)
   104  	}
   105  
   106  	var eq EquipierDirecteur
   107  	eq.Id = equipier1.Id
   108  	eq.Nom = "KUGLER"
   109  	eq.Prenom = "Estelle"
   110  	eq.Roles = rd.RAdjoint.AsRoles()
   111  	err = rc.modifieEquipier(eq)
   112  	if err != nil {
   113  		t.Fatal(err)
   114  	}
   115  
   116  	err = rc.deleteEquipier(equipier1.Id)
   117  	if err != nil {
   118  		t.Fatal(err)
   119  	}
   120  	err = rc.deleteEquipier(equipier2.Id)
   121  	if err != nil {
   122  		t.Fatal(err)
   123  	}
   124  }
   125  
   126  func TestInviteEquipier(t *testing.T) {
   127  	req := newDummyRequest(t, forceComplet)
   128  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
   129  	if err != nil {
   130  		t.Fatal(err)
   131  	}
   132  	equipiers := rc.Camp().GetEquipe(nil)
   133  	if len(equipiers) == 0 {
   134  		t.Fatal("aucun équipier")
   135  	}
   136  	err = rc.inviteFormulaireEquipier("localhost:1323", equipiers[0].Id)
   137  	if err != nil {
   138  		t.Fatal(err)
   139  	}
   140  }
   141  
   142  func TestInviteEquipiers(t *testing.T) {
   143  	req := newDummyRequest(t, forceComplet)
   144  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
   145  	if err != nil {
   146  		t.Fatal(err)
   147  	}
   148  	if len(rc.Camp().Base.Equipiers) > 3 { // on se restreint à 3 équipiers
   149  		ids := rc.Camp().Base.Equipiers.Ids()[0:3]
   150  		equipiers := make(rd.Equipiers)
   151  		for _, id := range ids {
   152  			equipiers[id] = rc.Camp().Base.Equipiers[id]
   153  		}
   154  		rc.Camp().Base.Equipiers = equipiers
   155  	}
   156  
   157  	err = rc.inviteFormulairesEquipiers("localhost:1323", false)
   158  	if err != nil {
   159  		t.Fatal(err)
   160  	}
   161  }
   162  
   163  func TestDocuments(t *testing.T) {
   164  	req := newDummyRequest(t, forceComplet)
   165  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
   166  	if err != nil {
   167  		t.Fatal(err)
   168  	}
   169  
   170  	b, err := rc.downloadDocumentsEquipiers(true)
   171  	if err != nil {
   172  		t.Fatal(err)
   173  	}
   174  	fmt.Println(b.Len())
   175  }
   176  
   177  func TestExportEquipiers(t *testing.T) {
   178  	req := newDummyRequest(t, forceComplet)
   179  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
   180  	if err != nil {
   181  		t.Fatal(err)
   182  	}
   183  
   184  	buf, err := rc.exportListeEquipiers()
   185  	if err != nil {
   186  		t.Fatal(err)
   187  	}
   188  	fmt.Println("bytes equipiers :", len(buf.Bytes()))
   189  }