photoprism/internal/query/account_search_test.go
2021-07-22 13:53:28 +02:00

105 lines
1.8 KiB
Go

package query
import (
"testing"
"github.com/photoprism/photoprism/internal/entity"
"github.com/photoprism/photoprism/internal/form"
"github.com/stretchr/testify/assert"
)
func TestAccounts(t *testing.T) {
t.Run("find accounts", func(t *testing.T) {
f := form.AccountSearch{
Query: "",
Share: true,
Sync: true,
Status: "",
Count: 10,
Offset: 0,
Order: "",
}
r, err := AccountSearch(f)
if err != nil {
t.Fatal(err)
}
//t.Logf("accounts: %+v", r)
assert.LessOrEqual(t, 1, len(r))
for _, r := range r {
assert.IsType(t, entity.Account{}, r)
}
})
t.Run("find accounts count 1001", func(t *testing.T) {
f := form.AccountSearch{
Query: "",
Share: false,
Sync: false,
Status: "refresh",
Count: 1001,
Offset: 0,
Order: "",
}
r, err := AccountSearch(f)
if err != nil {
t.Fatal(err)
}
//t.Logf("accounts: %+v", r)
assert.LessOrEqual(t, 1, len(r))
for _, r := range r {
assert.IsType(t, entity.Account{}, r)
}
})
t.Run("find accounts count > max results", func(t *testing.T) {
f := form.AccountSearch{
Query: "",
Status: "refresh",
Count: 100000,
Offset: 0,
Order: "",
}
r, err := AccountSearch(f)
if err != nil {
t.Fatal(err)
}
//t.Logf("accounts: %+v", r)
assert.LessOrEqual(t, 1, len(r))
for _, r := range r {
assert.IsType(t, entity.Account{}, r)
}
})
}
func TestAccountByID(t *testing.T) {
t.Run("existing account", func(t *testing.T) {
r, err := AccountByID(uint(1000001))
if err != nil {
t.Fatal(err)
}
assert.Equal(t, "Test Account2", r.AccName)
})
t.Run("record not found", func(t *testing.T) {
r, err := AccountByID(uint(123))
if err == nil {
t.Fatal()
}
assert.Equal(t, "record not found", err.Error())
assert.Empty(t, r)
})
}