github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/directeurs/animateurs_test.go (about) 1 package directeurs 2 3 import ( 4 "fmt" 5 "testing" 6 7 rd "github.com/benoitkugler/goACVE/server/core/rawdata" 8 ) 9 10 func TestUpdateAnimateurs(t *testing.T) { 11 req := newDummyRequest(t, forceComplet) 12 rc, err := ct.setupRequestComplet(req, loadEquipiers) 13 if err != nil { 14 t.Fatal(err) 15 } 16 groupe, err := rc.createGroupe(rd.Groupe{Nom: "TEST"}) 17 if err != nil { 18 t.Fatal(err) 19 } 20 liens, err := rc.loadGroupeAnimateurs(groupe.Id) 21 if err != nil { 22 t.Fatal(err) 23 } 24 if L := len(liens.GroupeEquipiers); L != 0 { 25 t.Fatalf("expected no animateurs in groupe, got %d", L) 26 } 27 if L := len(liens.ParticipantEquipiers); L != 0 { 28 t.Fatalf("expected no animateurs for inscrits, got %d", L) 29 } 30 equipiers := rc.camp.GetEquipe(nil) 31 if L := len(equipiers); L < 2 { 32 t.Fatalf("need at least 2 equipiers, got %d", L) 33 } 34 err = rc.addGroupeAnimateurs(AddGroupeAnimateursIn{ 35 IdGroupe: groupe.Id, 36 IdEquipiers: rd.Ids{ 37 equipiers[0].Id, 38 equipiers[1].Id, 39 }, 40 }) 41 if err != nil { 42 t.Fatal(err) 43 } 44 45 err = rc.deleteGroupeAnimateur(DeleteGroupeAnimateurIn{IdEquipier: equipiers[0].Id, IdGroupe: groupe.Id}) 46 if err != nil { 47 t.Fatal(err) 48 } 49 50 liens, err = rc.loadGroupeAnimateurs(groupe.Id) 51 if err != nil { 52 t.Fatal(err) 53 } 54 if L := len(liens.GroupeEquipiers); L != 1 { 55 t.Fatalf("expected 2 animateurs in groupe, got %d", L) 56 } 57 58 } 59 60 func TestSlice(t *testing.T) { 61 inscritsToAffect := make([]int, 15) 62 for nbAnim := range [4]int{} { 63 tailleCourante := 0 64 nbToAffect := 3 - tailleCourante 65 if nbToAffect <= 0 || len(inscritsToAffect) == 0 { 66 // on dépasse la taille recommandée -> pas d'affectation 67 continue 68 } 69 if nbToAffect > len(inscritsToAffect) { 70 nbToAffect = len(inscritsToAffect) 71 } 72 chunk := inscritsToAffect[0:nbToAffect] // extrait les inscrits 73 inscritsToAffect = inscritsToAffect[nbToAffect:] 74 fmt.Println("anim ", nbAnim, " : ", len(chunk), len(inscritsToAffect)) 75 } 76 }