diff --git a/backend/api_test.go b/backend/api_test.go index 8869bab..40aab9c 100644 --- a/backend/api_test.go +++ b/backend/api_test.go @@ -8,7 +8,7 @@ import "github.com/gavv/httpexpect/v2" func startServer(t *testing.T) { config := ServerConfig{ Datasource: ":memory:", - Port: "8080", + Port: "8181", Started: make(chan bool), } go start(t.Context(), &config) @@ -17,8 +17,9 @@ func startServer(t *testing.T) { func TestGetUsers(t *testing.T) { startServer(t) - e := httpexpect.Default(t, "http://localhost:8080/api") - e.GET("/users").Expect(). - Status(200).JSON(). - Path("$").Array().Length().IsInt(0) + e := httpexpect.Default(t, "http://localhost:8181/api") + result := e.GET("/users").Expect().Status(200).JSON() + result.Array().Length().IsEqual(2) + result.Path("$[0].name").InList("Seeseemelk", "Huffle") + result.Path("$[1].name").InList("Seeseemelk", "Huffle") } diff --git a/backend/db.go b/backend/db.go index 1be2398..98ead12 100644 --- a/backend/db.go +++ b/backend/db.go @@ -15,7 +15,6 @@ func NewDb(datasource string) *Db { if err != nil { log.Fatal(err) } - defer db.MustClose() // Apply migrations err = db.MigrateDb(migrations, "migrations") @@ -28,9 +27,9 @@ func NewDb(datasource string) *Db { func (db *Db) GetUsers() ([]User, error) { var err error - var users []User + users := make([]User, 0) - for row := range db.db.Query("SELECT id, name FROM users").Range(&err) { + for row := range db.db.Query("select id, name from users").Range(&err) { user := User{} err = row.Scan(&user.ID, &user.Name) if err != nil { diff --git a/backend/main.go b/backend/main.go index 22339a4..4c3454e 100644 --- a/backend/main.go +++ b/backend/main.go @@ -39,6 +39,7 @@ func main() { func start(ctx context.Context, config *ServerConfig) { db = NewDb(config.Datasource) + defer db.db.MustClose() router := gin.Default() router.GET("/api/users", getUsers) diff --git a/backend/migrations/1_initial.sql b/backend/migrations/1_initial.sql index 5bc660b..25869d3 100644 --- a/backend/migrations/1_initial.sql +++ b/backend/migrations/1_initial.sql @@ -28,3 +28,5 @@ create table tasks reward integer not null, assigned integer ); + +insert into users (name) values ('Seeseemelk'), ('Huffle');