diff options
author | Frédéric Guillot <fred@miniflux.net> | 2017-11-25 12:44:32 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2017-11-25 12:44:32 -0800 |
commit | ec0f642d5d3ec636b158b5fb0125f3a28ff9bf37 (patch) | |
tree | 4f146de44b0f0d8568470b99822dbfcd6c24cc2f /model | |
parent | 142e8b3e0c94757585005cd00fc9ed24afe43f81 (diff) |
Add integration tests for users
Diffstat (limited to 'model')
-rw-r--r-- | model/theme.go | 13 | ||||
-rw-r--r-- | model/user.go | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/model/theme.go b/model/theme.go index bcbb23a..c9bbc05 100644 --- a/model/theme.go +++ b/model/theme.go @@ -4,6 +4,8 @@ package model +import "github.com/miniflux/miniflux2/errors" + // GetThemes returns the list of available themes. func GetThemes() map[string]string { return map[string]string{ @@ -11,3 +13,14 @@ func GetThemes() map[string]string { "black": "Black", } } + +// ValidateTheme validates theme value. +func ValidateTheme(theme string) error { + for key := range GetThemes() { + if key == theme { + return nil + } + } + + return errors.NewLocalizedError("Invalid theme.") +} diff --git a/model/user.go b/model/user.go index 7d5d52b..0fd5044 100644 --- a/model/user.go +++ b/model/user.go @@ -27,6 +27,7 @@ func NewUser() *User { return &User{Extra: make(map[string]string)} } +// ValidateUserCreation validates new user. func (u User) ValidateUserCreation() error { if err := u.ValidateUserLogin(); err != nil { return err @@ -39,6 +40,7 @@ func (u User) ValidateUserCreation() error { return nil } +// ValidateUserModification validates user for modification. func (u User) ValidateUserModification() error { if u.Username == "" { return errors.New("The username is mandatory") @@ -48,9 +50,14 @@ func (u User) ValidateUserModification() error { return err } + if err := ValidateTheme(u.Theme); err != nil { + return err + } + return nil } +// ValidateUserLogin validates user credential requirements. func (u User) ValidateUserLogin() error { if u.Username == "" { return errors.New("The username is mandatory") @@ -63,6 +70,7 @@ func (u User) ValidateUserLogin() error { return nil } +// ValidatePassword validates user password requirements. func (u User) ValidatePassword() error { if u.Password != "" && len(u.Password) < 6 { return errors.New("The password must have at least 6 characters") |