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

     1  package directeurs
     2  
     3  import (
     4  	"fmt"
     5  	"math/rand"
     6  	"testing"
     7  
     8  	rd "github.com/benoitkugler/goACVE/server/core/rawdata"
     9  	"github.com/benoitkugler/goACVE/server/core/rawdata/matching"
    10  )
    11  
    12  func TestContraintes(t *testing.T) {
    13  	req := newDummyRequest(t, forceComplet)
    14  	rc, err := ct.setupRequestComplet(req, loadEquipiers)
    15  	if err != nil {
    16  		t.Fatal(err)
    17  	}
    18  	if _, hasDirecteur := rc.Camp().GetDirecteur(); !hasDirecteur {
    19  		// le test nécessite un directeur
    20  		_, err := rc.ajouteEquipierTmp(matching.PatternsSimilarite{Nom: "TEST"}, rd.RDirecteur.AsRoles())
    21  		if err != nil {
    22  			t.Fatal(err)
    23  		}
    24  	}
    25  	directeur, _ := rc.Camp().GetDirecteur()
    26  
    27  	err = rc.createContrainte(rd.Contrainte{MaxDocs: 2, Nom: rd.String(fmt.Sprintf("Plongée%d", rand.Int())),
    28  		IdPersonne: rd.NewOptionnalId(directeur.Id)})
    29  	if err != nil {
    30  		t.Fatal(err)
    31  	}
    32  
    33  	contraintes, err := rc.loadContraintes("localhost:1323")
    34  	if err != nil {
    35  		t.Fatal(err)
    36  	}
    37  
    38  	var contrainte rd.Contrainte
    39  	for _, ct := range contraintes {
    40  		if ct.Builtin == "" {
    41  			contrainte = ct.Contrainte
    42  			break
    43  		}
    44  	}
    45  	fmt.Println(contrainte)
    46  	contrainte.Nom = "nouveau nom"
    47  	contrainte, err = rc.updateContrainte(contrainte)
    48  	if err != nil {
    49  		t.Fatal(err)
    50  	}
    51  
    52  	_, err = rc.lieDocument("localhost", contrainte.Id)
    53  	if err != nil {
    54  		t.Fatal(err)
    55  	}
    56  
    57  	groupes, _, _, err := loadGroupes(rc.DB, rc.camp.Id)
    58  	if err != nil {
    59  		t.Fatal(err)
    60  	}
    61  	var groupesContraines rd.GroupeContraintes
    62  	for idGroupe := range groupes {
    63  		groupesContraines = append(groupesContraines, rd.GroupeContrainte{
    64  			IdGroupe: idGroupe, IdContrainte: contrainte.Id,
    65  		})
    66  	}
    67  	err = rc.updateGroupesContraintes(DemandeContraintesIn{GroupeContraintes: groupesContraines})
    68  	if err != nil {
    69  		t.Fatal(err)
    70  	}
    71  
    72  	nbDocs, err := rc.deleteContrainte(contrainte.Id)
    73  	if err != nil {
    74  		t.Fatal(err)
    75  	}
    76  	fmt.Println("nombre de documents supprimés :", nbDocs)
    77  }