mirror of
https://github.com/heyarne/airsonic-ui.git
synced 2026-05-07 10:43:39 +02:00
25 lines
1.3 KiB
Clojure
25 lines
1.3 KiB
Clojure
(ns airsonic-ui.components.library.subs-test
|
|
(:require [cljs.test :refer-macros [deftest testing is]]
|
|
[airsonic-ui.config :as conf]
|
|
[airsonic-ui.components.library.subs :as sub]))
|
|
|
|
(defn stub-albums [offset]
|
|
(let [start (* offset conf/albums-per-page)
|
|
end (inc (+ start (* conf/albums-per-page conf/albums-prefetch-factor)))]
|
|
(range start end)))
|
|
|
|
(def responses {["getAlbumList2" {:type "recent" :offset 1}] {:album (stub-albums 1)}
|
|
["getAlbumList2" {:type "recent" :offset 2}] {:album (stub-albums 2)}
|
|
["getAlbumList2" {:type "recent" :offset 0}] {:album (stub-albums 0)}
|
|
;; vvv this one shouldn't show up in the test vvv
|
|
["getAlbumList2" {:type "newest" :offset 1}] {:album (reverse (stub-albums 1))}
|
|
["getAlbumList2" {:type "recent" :offset 3}] {:album (stub-albums 3)}})
|
|
|
|
(deftest complete-library
|
|
(testing "Should concatenate and deduplicate all album list responses for a given type of list"
|
|
;; we test from offset 0 to 3, which is where these numbers come from
|
|
(println "last number" (last (stub-albums 3)))
|
|
|
|
(is (= (range 0 (inc (+ (* 3 conf/albums-per-page)
|
|
(* conf/albums-per-page conf/albums-prefetch-factor))))
|
|
(sub/complete-library responses [:library/complete "recent"])))))
|