优化结构
This commit is contained in:
@@ -12,6 +12,16 @@ type defaultRouterUserRepo struct {
|
||||
err error
|
||||
}
|
||||
|
||||
type loginUserRepo struct {
|
||||
UserRepo
|
||||
user *User
|
||||
err error
|
||||
}
|
||||
|
||||
func (r *loginUserRepo) FindUserByUsername(context.Context, string) (*User, error) {
|
||||
return r.user, r.err
|
||||
}
|
||||
|
||||
func (r *defaultRouterUserRepo) HasAuthorityMenu(context.Context, uint, string) (bool, error) {
|
||||
return r.hasMenu, r.err
|
||||
}
|
||||
@@ -35,3 +45,10 @@ func TestFallbackDefaultRouterMatchesMenuLookupOutcome(t *testing.T) {
|
||||
t.Fatalf("empty missing default route = %q", user.Authority.DefaultRouter)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoginRejectsMissingUserWithoutPanic(t *testing.T) {
|
||||
user, err := NewUserUsecase(&loginUserRepo{}).Login(context.Background(), "missing", "password")
|
||||
if !errors.Is(err, ErrInvalidCredentials) || user != nil {
|
||||
t.Fatalf("Login() = %#v, %v; want nil, ErrInvalidCredentials", user, err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user