mirror of
https://github.com/heyarne/airsonic-ui.git
synced 2026-05-07 02:33:39 +02:00
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
32 lines
1.4 KiB
Clojure
32 lines
1.4 KiB
Clojure
(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"))))))
|