3
0

upd(system): tests, add reams to user response

This commit is contained in:
Tit Petric
2018-11-25 21:59:08 +01:00
parent 8ba08d3fb9
commit 0381511b55
2 changed files with 15 additions and 10 deletions
+4 -2
View File
@@ -81,8 +81,10 @@ func (r *user) FindByEmail(email string) (*types.User, error) {
func (r *user) FindByID(id uint64) (*types.User, error) {
sql := fmt.Sprintf(sqlUserSelect, r.users) + " AND id = ?"
mod := &types.User{}
return mod, isFound(r.db().Get(mod, sql, id), mod.ID > 0, ErrUserNotFound)
if err := isFound(r.db().Get(mod, sql, id), mod.ID > 0, ErrUserNotFound); err != nil {
return nil, err
}
return mod, r.prepare(mod, "teams")
}
func (r *user) Find(filter *types.UserFilter) ([]*types.User, error) {
+11 -8
View File
@@ -2,11 +2,10 @@ package repository
import (
"context"
"testing"
"github.com/titpetric/factory"
"testing"
"github.com/crusttech/crust/system/types"
)
@@ -25,9 +24,9 @@ func TestUser(t *testing.T) {
user.GeneratePassword("johndoe")
{
u1, err := userRepo.Create(user)
uu, err := userRepo.Create(user)
assert(t, err == nil, "User.Create error: %+v", err)
assert(t, user.ID == u1.ID, "Changes were not stored")
assert(t, user.ID == uu.ID, "Changes were not stored")
}
teamRepo := Team(context.Background(), factory.Database.MustGet())
@@ -39,17 +38,21 @@ func TestUser(t *testing.T) {
t1, err := teamRepo.Create(team)
assert(t, err == nil, "Team.Create error: %+v", err)
assert(t, team.Name == t1.Name, "Changes were not stored")
err = teamRepo.MemberAddByID(t1.ID, user.ID)
assert(t, err == nil, "Team.MemberAddByID error: %+v", err)
}
{
err := teamRepo.MemberAddByID(team.ID, user.ID)
assert(t, err == nil, "Team.MemberAddByID error: %+v", err)
uu, err := userRepo.FindByID(user.ID)
assert(t, err == nil, "User.FindByID error: %+v", err)
assert(t, len(uu.Teams) == 1, "Expected 1 team, got %d", len(uu.Teams))
}
{
users, err := userRepo.Find(&types.UserFilter{Query: ""})
assert(t, err == nil, "User.Find error: %+v", err)
assert(t, len(users) > 0, "No user results found")
assert(t, len(users[0].Teams) > 0, "No team results found")
assert(t, len(users) == 1, "User.Find: expected 1 user, got %d", len(users))
assert(t, len(users[0].Teams) == 1, "User.Find: expected 1 team, got %d", len(users[0].Teams))
}
}