trepa/internal/accounts/repository/account_test.go
2025-03-24 20:43:00 +00:00

69 lines
1.4 KiB
Go

package repository
import (
"testing"
"gitea.qpismont.fr/qpismont/trepa/internal/accounts/domain"
"gitea.qpismont.fr/qpismont/trepa/test"
"github.com/magiconair/properties/assert"
)
func TestRepository_Insert(t *testing.T) {
db := test.SetupTestDB(t, "../..")
defer db.Close()
repo := NewRepository(db)
account := domain.Account{
Username: "test",
Password: "test",
RoleId: 1,
}
id, err := repo.Insert(account)
if err != nil {
t.Fatalf("Failed to insert account: %v", err)
}
assert.Equal(t, id, 3)
}
func TestRepository_FetchOneByUsername(t *testing.T) {
db := test.SetupTestDB(t, "../..")
defer db.Close()
repo := NewRepository(db)
account, err := repo.FetchOneByUsername("admin")
if err != nil {
t.Fatalf("Failed to fetch account: %v", err)
}
if account == nil {
t.Fatalf("Account not found")
}
assert.Equal(t, account.Username, "admin")
assert.Equal(t, account.Password, "LOLPASSWORD")
assert.Equal(t, account.RoleId, 1)
}
func TestRepository_FetchOneById(t *testing.T) {
db := test.SetupTestDB(t, "../../..")
defer db.Close()
repo := NewRepository(db)
account, err := repo.FetchOneById(1)
if err != nil {
t.Fatalf("Failed to fetch account: %v", err)
}
if account == nil {
t.Fatalf("Account not found")
}
assert.Equal(t, account.Username, "admin")
assert.Equal(t, account.Password, "LOLPASSWORD")
assert.Equal(t, account.RoleId, 1)
}