github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/vote/models_test.go (about) 1 package vote 2 3 import ( 4 "testing" 5 6 "github.com/benoitkugler/goACVE/logs" 7 "github.com/benoitkugler/goACVE/server/core/rawdata" 8 ) 9 10 func TestCRUD(t *testing.T) { 11 db, err := rawdata.ConnectDB(logs.DBDev) 12 if err != nil { 13 t.Fatal(err) 14 } 15 defer db.Close() 16 tx, err := db.Begin() 17 if err != nil { 18 t.Fatal(err) 19 } 20 defer tx.Rollback() 21 22 vote := randVote() 23 vote, err = queriesVote(tx, vote) 24 if err != nil { 25 t.Fatal(err) 26 } 27 28 candidat1 := randCandidat() 29 candidat1.IdVote = vote.Id 30 candidat1, err = queriesCandidat(tx, candidat1) 31 if err != nil { 32 t.Fatal(err) 33 } 34 35 candidat2 := randCandidat() 36 candidat2.IdVote = vote.Id 37 candidat2, err = queriesCandidat(tx, candidat2) 38 if err != nil { 39 t.Fatal(err) 40 } 41 42 vp := randVotePersonne() 43 vp.IdPersonne = 1668 44 vp.IdVote = vote.Id 45 vp, err = queriesVotePersonne(tx, vp) 46 if err != nil { 47 t.Fatal(err) 48 } 49 50 pc1 := randVotePersonneCandidat() 51 pc1.IdPersonne = vp.IdPersonne 52 pc1.IdVote = vp.IdVote 53 pc1.IdCandidat = candidat1.Id 54 55 pc2 := randVotePersonneCandidat() 56 pc2.IdPersonne = vp.IdPersonne 57 pc2.IdVote = vp.IdVote 58 pc2.IdCandidat = candidat2.Id 59 60 err = InsertManyVotePersonneCandidats(tx, pc1, pc2) 61 if err != nil { 62 t.Fatal(err) 63 } 64 65 err = pc1.Delete(tx) 66 if err != nil { 67 t.Fatal(err) 68 } 69 err = pc2.Delete(tx) 70 if err != nil { 71 t.Fatal(err) 72 } 73 err = vp.Delete(tx) 74 if err != nil { 75 t.Fatal(err) 76 } 77 _, err = candidat1.Delete(tx) 78 if err != nil { 79 t.Fatal(err) 80 } 81 _, err = candidat2.Delete(tx) 82 if err != nil { 83 t.Fatal(err) 84 } 85 _, err = vote.Delete(tx) 86 if err != nil { 87 t.Fatal(err) 88 } 89 }