tests for new features added + some extensions of old tests
This commit is contained in:
@@ -73,22 +73,21 @@
|
|||||||
[:div#preview-start-line.hidden]
|
[:div#preview-start-line.hidden]
|
||||||
[:article#preview]))
|
[:article#preview]))
|
||||||
|
|
||||||
(defn wrap [theme md-text]
|
(defn wrap [params md-text]
|
||||||
(let [title (-?> md-text (split #"\n") first (sreplace #"[_\*#]" ""))]
|
(if md-text
|
||||||
(common/layout {:theme theme} title [:article (md-to-html md-text)])))
|
(let [title (-?> md-text (split #"\n") first (sreplace #"[_\*#]" ""))]
|
||||||
|
(common/layout params title [:article (md-to-html md-text)]))
|
||||||
(defn get-md [[[year month day] :as date] title]
|
(status 404 (get-page 404))))
|
||||||
(let [post (get-note date title)]
|
|
||||||
(if post post (status 404 ""))))
|
|
||||||
|
|
||||||
(defpage "/:year/:month/:day/:title/theme/:theme" {:keys [year month day title theme]}
|
(defpage "/:year/:month/:day/:title/theme/:theme" {:keys [year month day title theme]}
|
||||||
(wrap theme (get-md [year month day] title)))
|
(wrap {:theme theme} (get-note [year month day] title)))
|
||||||
|
|
||||||
(defpage "/:year/:month/:day/:title" {:keys [year month day title]}
|
(defpage "/:year/:month/:day/:title" {:keys [year month day title]}
|
||||||
(wrap :default (get-md [year month day] title)))
|
(wrap {:theme :default} (get-note [year month day] title)))
|
||||||
|
|
||||||
(defpage "/:year/:month/:day/:title/export" {:keys [year month day title]}
|
(defpage "/:year/:month/:day/:title/export" {:keys [year month day title]}
|
||||||
(get-md [year month day] title))
|
(let [md-text (get-note [year month day] title)]
|
||||||
|
(if md-text md-text (get-page 404))))
|
||||||
|
|
||||||
; New Note Posting
|
; New Note Posting
|
||||||
(defpage [:post "/post-note"] {:keys [draft session-key session-value]}
|
(defpage [:post "/post-note"] {:keys [draft session-key session-value]}
|
||||||
|
|||||||
@@ -1,19 +1,49 @@
|
|||||||
(ns NoteHub.test.views.pages
|
(ns NoteHub.test.views.pages
|
||||||
(:use [NoteHub.views.pages]
|
(:use [NoteHub.views.pages]
|
||||||
[noir.util.test]
|
[noir.util.test]
|
||||||
|
[NoteHub.storage]
|
||||||
[clojure.test]))
|
[clojure.test]))
|
||||||
|
|
||||||
|
(def date [2012 6 3])
|
||||||
|
(def test-title "some-title")
|
||||||
|
(def test-note "# This is a test note.\nHello _world_.")
|
||||||
|
|
||||||
|
(defn create-testnote-fixture [f]
|
||||||
|
(set-note date test-title test-note)
|
||||||
|
(f)
|
||||||
|
(delete-note date test-title))
|
||||||
|
|
||||||
|
(use-fixtures :each create-testnote-fixture)
|
||||||
|
|
||||||
|
(defn url [& args]
|
||||||
|
(apply str (interpose "/" (cons "" args))))
|
||||||
|
|
||||||
|
(is (= (url 2010 05 06 "test-title" "export") "/2010/5/6/test-title/export"))
|
||||||
|
|
||||||
|
(deftest testing-fixture
|
||||||
|
(testing "Was a not created?"
|
||||||
|
(is (= (get-note date test-title) test-note))
|
||||||
|
(is (note-exists? date test-title))))
|
||||||
|
|
||||||
(deftest helper-functions
|
(deftest helper-functions
|
||||||
(testing "Markdown generation"
|
(testing "Markdown generation"
|
||||||
(is (= "<h1><em>hello</em> <strong>world</strong></h1><p>test <code>code</code></p>"
|
(is (= "<h1><em>hello</em> <strong>world</strong></h1><p>test <code>code</code></p>"
|
||||||
(md-to-html "#_hello_ __world__\ntest `code`")))))
|
(md-to-html "#_hello_ __world__\ntest `code`")))))
|
||||||
|
(deftest export-test
|
||||||
|
(testing "Markdown export"
|
||||||
|
(has-body (send-request (url 2012 6 3 "some-title" "export")) test-note)))
|
||||||
|
|
||||||
(deftest requests
|
(deftest requests
|
||||||
(testing "HTTP Statuses"
|
(testing "HTTP Statuses"
|
||||||
(testing "of a wrong access"
|
(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")) 404)
|
||||||
|
(has-status (send-request (url 2012 6 4 "wrong-title")) 404)
|
||||||
(testing "of corrupt note-post"
|
(testing "of corrupt note-post"
|
||||||
(has-status (send-request [:post "/2012/06/04/wrong-title"]) 404)
|
|
||||||
(has-status (send-request [:post "/post-note"]) 400))
|
(has-status (send-request [:post "/post-note"]) 400))
|
||||||
(testing "valid accesses"
|
(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 "/") 200))))
|
(has-status (send-request "/") 200))))
|
||||||
|
|||||||
Reference in New Issue
Block a user