47 lines
1.7 KiB
Clojure
47 lines
1.7 KiB
Clojure
(ns rss-thread-watch.feed-generator-test
|
|
(:require [clojure.test :refer :all]
|
|
[rss-thread-watch.feed-generator :refer :all]
|
|
[rss-thread-watch.filters :as f]))
|
|
|
|
(def thread-list [{:title "Some thread title"
|
|
:chod 94.0
|
|
:no 696942042
|
|
:last-modified 20}
|
|
{:title "Some nearly dead THREAD"
|
|
:chod 69.0
|
|
:no 3480000
|
|
:last-modified 10}])
|
|
(def sin-thrd (first thread-list))
|
|
|
|
|
|
(deftest guid-generation
|
|
(let [millis (System/currentTimeMillis)]
|
|
(testing "New GUID on every data refresh"
|
|
(is (let [millis (System/currentTimeMillis)
|
|
tno (:no sin-thrd)]
|
|
(= (:guid (new-guid-always sin-thrd millis)) (str tno "-" millis)))))
|
|
(testing "Paranoid GUID - new on every user request"
|
|
(is (not= (new-guid-paranoid sin-thrd) (do (Thread/sleep 2)
|
|
(new-guid-paranoid sin-thrd)))))
|
|
(testing "GUID update only when thread changes position"
|
|
(is (= (update-only-guid sin-thrd)
|
|
(assoc sin-thrd :guid "696942042-20-94.00"))))))
|
|
|
|
(def query-map1 {"Q" ["PONIes" "aRe" "CUTE"]
|
|
"q" ["/general/" "foo bar"]
|
|
"x" "Not really filter"
|
|
"board" ["/p/" "/mlp/"]})
|
|
|
|
(def query-map1-result {f/case-insensitive-filter ["/general/" "foo bar"]
|
|
f/case-sensitive-filter ["PONIes" "aRe" "CUTE"]})
|
|
|
|
(deftest filtering
|
|
(testing "Filter map making"
|
|
(is (= query-map1-result (make-filters query-map1 f/known-filters)))))
|
|
|
|
(deftest filter-chod-posts-test
|
|
)
|
|
|
|
(deftest thread-to-rss-item-test
|
|
(testing ""))
|
|
|