Browse Source

tests for new features added + some extensions of old tests

master
Christian Mueller 14 years ago
parent
commit
7125155939
  1. 19
      src/NoteHub/views/pages.clj
  2. 32
      test/NoteHub/test/views/pages.clj

19
src/NoteHub/views/pages.clj

@ -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]}

32
test/NoteHub/test/views/pages.clj

@ -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))))

Loading…
Cancel
Save