1234567891011121314151617181920212223242526272829303132333435363738394041 |
- (ns web-client.core-spec
- (:require-macros [speclj.core :refer [describe it should= should should-not]])
- (:require [speclj.core]
- [reagent.core :as reagent :refer [atom]]
- [web-client.core :as rc]))
- (def isClient (not (nil? (try (.-document js/window)
- (catch js/Object e nil)))))
- (def rflush reagent/flush)
- (defn add-test-div [name]
- (let [doc js/document
- body (.-body js/document)
- div (.createElement doc "div")]
- (.appendChild body div)
- div))
- (defn with-mounted-component [comp f]
- (when isClient
- (let [div (add-test-div "_testreagent")]
- (let [comp (reagent/render-component comp div #(f comp div))]
- (reagent/unmount-component-at-node div)
- (reagent/flush)
- (.removeChild (.-body js/document) div)))))
- (defn found-in [re div]
- (let [res (.-innerHTML div)]
- (if (re-find re res)
- true
- (do (println "Not found: " res)
- false))))
- (describe "test home"
- (it "contains 'Welcome to' in home page"
- (with-mounted-component (rc/home-page)
- (fn [c div]
- (should (found-in #"Welcome to" div))))))
|