69 lines
1.4 KiB
Go
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/stretchr/testify/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, "admin", account.Username)
|
|
assert.NotEmpty(t, account.Password)
|
|
assert.Equal(t, 1, account.RoleId)
|
|
}
|
|
|
|
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, "admin", account.Username)
|
|
assert.NotEmpty(t, account.Password)
|
|
assert.Equal(t, 1, account.RoleId)
|
|
}
|