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 }