bugs fixed; tests repaired
This commit is contained in:
@@ -12,15 +12,15 @@
|
||||
|
||||
(defn set-note [date title text]
|
||||
(let [key (build-key date title)]
|
||||
(do
|
||||
(redis/hset db views key 0)
|
||||
(redis/hset db note key text))))
|
||||
(redis/hset db note key text)))
|
||||
|
||||
(defn get-note [date title]
|
||||
(let [key (build-key date title)]
|
||||
(let [key (build-key date title)
|
||||
text (redis/hget db note key)]
|
||||
(when text
|
||||
(do
|
||||
(redis/hincrby db views key 1)
|
||||
(redis/hget db note key))))
|
||||
text))))
|
||||
|
||||
(defn get-views [date title]
|
||||
(redis/hget db views (build-key date title)))
|
||||
@@ -29,4 +29,7 @@
|
||||
(redis/hexists db note (build-key date title)))
|
||||
|
||||
(defn delete-note [date title]
|
||||
(redis/hdel db note (build-key date title)))
|
||||
(let [key (build-key date title)]
|
||||
(do
|
||||
(redis/hdel db views key)
|
||||
(redis/hdel db note key))))
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
(def page-width
|
||||
(mixin
|
||||
:width :800px))
|
||||
|
||||
(def helvetica-neue
|
||||
(mixin
|
||||
:font-weight 300
|
||||
@@ -64,6 +65,8 @@
|
||||
:color foreground
|
||||
:margin 0
|
||||
:padding 0)
|
||||
(rule ".helvetica-neue"
|
||||
helvetica-neue)
|
||||
(rule "#hero"
|
||||
:padding-top :5em
|
||||
:padding-bottom :5em
|
||||
|
||||
@@ -86,22 +86,21 @@
|
||||
|
||||
(defpage "/:year/:month/:day/:title/export" {:keys [year month day title]}
|
||||
(let [md-text (get-note [year month day] title)]
|
||||
(if md-text md-text (get-page 404))))
|
||||
(if md-text md-text (status 404 (get-page 404)))))
|
||||
|
||||
(defpage "/:year/:month/:day/:title/stat" {:keys [year month day title]}
|
||||
(let [views (get-views [year month day] title)]
|
||||
(if views
|
||||
(common/layout "Statistics"
|
||||
[:article
|
||||
[:article.helvetica-neue
|
||||
[:table {:style "width: 100%"}
|
||||
[:tr
|
||||
[:td "Published"]
|
||||
[:td (interpose "-" [year month day])]]
|
||||
[:tr
|
||||
[:td "Article views"]
|
||||
[:td views]]
|
||||
]])
|
||||
(get-page 404))))
|
||||
[:td views]]]])
|
||||
(status 404 (get-page 404)))))
|
||||
|
||||
; New Note Posting
|
||||
(defpage [:post "/post-note"] {:keys [draft session-key session-value]}
|
||||
|
||||
@@ -34,16 +34,19 @@
|
||||
(has-body (send-request (url 2012 6 3 "some-title" "export")) test-note)))
|
||||
|
||||
(deftest requests
|
||||
(testing "HTTP Statuses"
|
||||
(testing "HTTP Status"
|
||||
(testing "of a wrong access"
|
||||
(has-status (send-request "/wrong-page") 404))
|
||||
(has-status (send-request "/wrong-page") 404)
|
||||
(has-status (send-request (url 2012 6 3 "lol" "stat")) 404)
|
||||
(has-status (send-request (url 2012 6 3 "lol" "export")) 404)
|
||||
(has-status (send-request (url 2012 6 3 "lol")) 404)
|
||||
(has-status (send-request (url 2012 6 4 "wrong-title")) 404)
|
||||
(has-status (send-request (url 2012 6 4 "wrong-title")) 404))
|
||||
(testing "of corrupt note-post"
|
||||
(has-status (send-request [:post "/post-note"]) 400))
|
||||
(testing "valid accesses"
|
||||
(has-status (send-request "/new") 200)
|
||||
(has-status (send-request (url 2012 6 3 "some-title")) 200)
|
||||
(has-status (send-request (url 2012 6 3 "some-title" "export")) 200)
|
||||
(has-status (send-request (url 2012 6 3 "some-title" "theme" "dark")) 200)
|
||||
(has-status (send-request (url 2012 6 3 "some-title" "stat")) 200)
|
||||
(has-status (send-request (url 2012 6 3 "some-title")) 200)
|
||||
(has-status (send-request "/") 200))))
|
||||
|
||||
Reference in New Issue
Block a user