add teams tests

This commit is contained in:
2025-06-14 23:18:05 +07:00
parent 54706f0aba
commit b6e3fb8596
6 changed files with 145 additions and 7 deletions
+10 -1
View File
@@ -20,7 +20,7 @@ func NewRepository(filepath string) (*Repository, error) {
return nil, err
}
log.Printf("load db from: %s", filepath)
_, err = db.Exec("CREATE TABLE IF NOT EXISTS teams (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, password TEXT);")
_, err = db.Exec("CREATE TABLE IF NOT EXISTS teams (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE NOT NULL CHECK(length(trim(name)) > 0), password TEXT);")
if err != nil {
return nil, err
}
@@ -39,6 +39,10 @@ func NewRepository(filepath string) (*Repository, error) {
return &Repository{db: db}, nil
}
func (r *Repository) Close() {
r.db.Close()
}
func (r *Repository) GetTeams(ctx context.Context) ([]*models.Team, error) {
rows, err := r.db.Query("select id, name, password from teams")
if err != nil {
@@ -192,3 +196,8 @@ func (r *Repository) GameUpdateState(ctx context.Context, state string) error {
_, err := r.db.Exec("update games set state = $1", state)
return err
}
func (r *Repository) DeleteAllTeams(ctx context.Context) error {
_, err := r.db.Exec("delete from teams where 1")
return err
}