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  }