(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 ""))