Skip to content

Commit

Permalink
refactoring signup
Browse files Browse the repository at this point in the history
  • Loading branch information
yangwansu committed Sep 14, 2015
1 parent 390aac9 commit 4357f60
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 11 deletions.
18 changes: 8 additions & 10 deletions src/guestbook/signup/core.clj
Original file line number Diff line number Diff line change
Expand Up @@ -37,22 +37,20 @@
(= 1 (count (db/check-user-exists params))))

(defn validate-signup [params]
{:has-captcha-error (not (recaptcha-valid? (:g-recaptcha-response params)))
:has-field-errors (validate-user params)
:duplicated-name (duplicated-name? params)})
(let [errors {:has-captcha-error (not (recaptcha-valid? (:g-recaptcha-response params)))
:has-field-errors (validate-user params)
:duplicated-name (duplicated-name? params)}]
(if (or (:has-captcha-error errors)
(:has-field-errors errors)
(:duplicated-name errors))
errors)))

(defn save-user! [params]
(do (db/save-user! (assoc params :facebookid "" :timestamp (Date.)))
(redirect "/login")))

(defn signup!
([{:keys [params]}]
(signup! (validate-signup params)
params))

([errors params]
(if (or (:has-captcha-error errors)
(:has-field-errors errors)
(:duplicated-name errors))
(if-let [errors (validate-signup params)]
(redirect-errors errors params)
(save-user! params))))
7 changes: 6 additions & 1 deletion test/guestbook/test/signup/core.clj
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,12 @@
#(is (= {:has-captcha-error false
:has-field-errors {}
:duplicated-name true}
(validate-signup :any)))))
(validate-signup :any))))
(with-redefs-fn
{#'guestbook.signup.core/recaptcha-valid? (fn [_] true)
#'guestbook.signup.core/validate-user (fn [_] nil)
#'guestbook.signup.core/duplicated-name? (fn [_] false)}
#(is (nil? (validate-signup :any)))))



Expand Down

0 comments on commit 4357f60

Please sign in to comment.