Added database method to retrieve all teams.

This commit is contained in:
Patrick Fairbank
2014-05-25 17:19:13 -07:00
parent 42c6ae9be8
commit c08c1fbd57
2 changed files with 44 additions and 3 deletions

View File

@@ -43,3 +43,9 @@ func (database *Database) DeleteTeam(team *Team) error {
func (database *Database) TruncateTeams() error {
return database.teamMap.TruncateTables()
}
func (database *Database) GetAllTeams() ([]Team, error) {
var teams []Team
err := database.teamMap.Select(&teams, "SELECT * FROM teams ORDER BY id")
return teams, err
}

View File

@@ -10,12 +10,12 @@ import (
func TestGetNonexistentTeam(t *testing.T) {
clearDb()
defer clearDb()
db, err := OpenDatabase(testDbPath)
if err != nil {
t.Error("Error:", err)
}
defer db.Close()
team, err := db.GetTeamById(1114)
if err != nil {
t.Error("Error:", err)
@@ -28,12 +28,12 @@ func TestGetNonexistentTeam(t *testing.T) {
func TestTeamCrud(t *testing.T) {
clearDb()
defer clearDb()
db, err := OpenDatabase(testDbPath)
if err != nil {
t.Error("Error:", err)
}
defer db.Close()
team := Team{254, "NASA Ames Research Center", "The Cheesy Poofs", "San Jose", "CA", "USA", 1999, "Barrage"}
db.CreateTeam(&team)
team2, err := db.GetTeamById(254)
@@ -67,12 +67,12 @@ func TestTeamCrud(t *testing.T) {
func TestTruncateTeams(t *testing.T) {
clearDb()
defer clearDb()
db, err := OpenDatabase(testDbPath)
if err != nil {
t.Error("Error:", err)
}
defer db.Close()
team := Team{254, "NASA Ames Research Center", "The Cheesy Poofs", "San Jose", "CA", "USA", 1999, "Barrage"}
db.CreateTeam(&team)
db.TruncateTeams()
@@ -84,3 +84,38 @@ func TestTruncateTeams(t *testing.T) {
t.Errorf("Expected '%v' to be nil", team2)
}
}
func TestGetAllTeams(t *testing.T) {
clearDb()
defer clearDb()
db, err := OpenDatabase(testDbPath)
if err != nil {
t.Error("Error:", err)
}
defer db.Close()
teams, err := db.GetAllTeams()
if err != nil {
t.Error("Error:", err)
}
if len(teams) != 0 {
t.Errorf("Expected %d teams, got %d", 0, len(teams))
}
numTeams := 20
for i := 1; i <= numTeams; i++ {
db.CreateTeam(&Team{i, "", "", "", "", "", 2014, ""})
}
teams, err = db.GetAllTeams()
if err != nil {
t.Error("Error:", err)
}
if len(teams) != numTeams {
t.Errorf("Expected %d teams, got %d", numTeams, len(teams))
}
for i := 0; i < numTeams; i++ {
if teams[i].Id != i+1 {
t.Errorf("Expected team %d, got %d", i+1, teams[i].Id)
}
}
}