1
0
Fork 0
mirror of https://github.com/heyarne/airsonic-ui.git synced 2026-05-06 18:33:38 +02:00

Setup tests

commit 1b86fa1477d9cbad441e7616b6f1adbceec76c9c
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:52:48 2018 +0200

    Cache build directories for (hopefully) faster builds

commit b614e1fa8437bb20cb5fcb05d6ab7ad318984f01
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:49:34 2018 +0200

    Fix undeclared var in test

commit f0f30e6a546ad0e4a7f65538d485b5544f7733c3
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:27:13 2018 +0200

    Configure travis and fix dependencies

commit 5a3f432d9e9ed34e21a6940a18f11fa4d0ef9b7d
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:22:33 2018 +0200

    Remove build folders from git

commit 44095cbd34e2ed6f70d43b7c72f5cb4bacb18913
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:17:05 2018 +0200

    Add first real test

commit 02a0ef51c61c15ddc6de88f34aa5fd2817fdca88
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 16:38:40 2018 +0200

    Add growl notifications

commit 5b09be97e04e64ecab5aba3e063f584e48d21c0a
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 14:29:02 2018 +0200

    Add karma watcher

commit 6d7859f7fd420e4057277da3605a4df5985d8ae9
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 14:20:12 2018 +0200

    Add karma and set it up for single-run tests
This commit is contained in:
Arne Schlüter 2018-05-28 19:57:03 +02:00
commit 629872ec97
11 changed files with 2840 additions and 44 deletions

View file

@ -0,0 +1,32 @@
(ns airsonic-ui.utils.api-test
(:require [cljs.test :refer [deftest testing is]]
[clojure.string :as str]
[airsonic-ui.utils.api :as api]))
(defn- url
"Construct a url with no params"
[server endpoint]
(api/url server endpoint {}))
(def fixtures
{:default-url (url "http://localhost:8080" "ping")})
(deftest general-url-construction
(testing "Handles missing slashes"
(is (true? (str/starts-with? (fixtures :default-url) "http://localhost:8080/rest/ping")))
(is (true? (str/starts-with? (url "http://localhost:8080/" "ping") "http://localhost:8080/rest/ping"))))
(testing "Should set correct default parameters"
(is (string? (re-find #"f=json" (fixtures :default-url))))
(is (string? (re-find #"v=1\.15\.0" (fixtures :default-url))))))
(deftest song-urls
(testing "Should construct the url based on a song's id"
(let [song {:id 1234}]
(is (true? (str/includes? (api/song-url "http://localhost" {} song) (str "id=" (:id song))))))))
(deftest cover-urls
(let [album {:coverArt "cover-99999"}]
(testing "Should construct the url based on an item's cover-id"
(is (true? (str/includes? (api/cover-url "http://server.tld" {} album -1) (str "id=" (:coverArt album))))))
(testing "Should scale an image to a given size"
(is (true? (str/includes? (api/cover-url "http://server.tld" {} album 48) "size=48"))))))