aboutsummaryrefslogtreecommitdiffhomepage
path: root/model
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-11-25 12:44:32 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-11-25 12:44:32 -0800
commitec0f642d5d3ec636b158b5fb0125f3a28ff9bf37 (patch)
tree4f146de44b0f0d8568470b99822dbfcd6c24cc2f /model
parent142e8b3e0c94757585005cd00fc9ed24afe43f81 (diff)
Add integration tests for users
Diffstat (limited to 'model')
-rw-r--r--model/theme.go13
-rw-r--r--model/user.go8
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")