|
1 | 1 | (ns compojure.api.swagger-ordering-test
|
2 |
| - (:require [compojure.api.routes :as routes] |
3 |
| - [compojure.api.sweet :refer :all] |
| 2 | + (:require [compojure.api.sweet :refer :all] |
4 | 3 | [midje.sweet :refer :all]))
|
5 | 4 |
|
6 |
| -;; TODO: order! |
7 |
| -#_(facts "with 9+ routes" |
| 5 | +(defroutes* more-routes |
| 6 | + (GET* "/6" [] identity) |
| 7 | + (GET* "/7" [] identity) |
| 8 | + (GET* "/8" [] identity)) |
8 | 9 |
|
9 |
| - (defapi api |
10 |
| - (context "/a" [] |
11 |
| - (GET* "/1" [] identity) |
12 |
| - (GET* "/2" [] identity) |
13 |
| - (GET* "/3" [] identity) |
14 |
| - (context "/b" [] |
15 |
| - (GET* "/4" [] identity) |
16 |
| - (GET* "/5" [] identity)) |
17 |
| - (context "/c" [] |
18 |
| - (GET* "/6" [] identity) |
19 |
| - (GET* "/7" [] identity) |
20 |
| - (GET* "/8" [] identity) |
21 |
| - (GET* "/9" [] identity) |
22 |
| - (GET* "/10" [] identity)))) |
| 10 | +(facts "with 10+ routes" |
| 11 | + (let [app (api |
| 12 | + (swagger-docs) |
| 13 | + (context* "/a" [] |
| 14 | + (GET* "/1" [] identity) |
| 15 | + (GET* "/2" [] identity) |
| 16 | + (GET* "/3" [] identity) |
| 17 | + (context* "/b" [] |
| 18 | + (GET* "/4" [] identity) |
| 19 | + (GET* "/5" [] identity)) |
| 20 | + (context* "/c" [] |
| 21 | + more-routes |
| 22 | + (GET* "/9" [] identity) |
| 23 | + (GET* "/10" [] identity))))] |
23 | 24 |
|
24 | 25 | (fact "swagger-api order is maintained"
|
25 |
| - (->> (routes/get-routes) |
| 26 | + (->> app |
| 27 | + meta |
26 | 28 | :routes
|
27 |
| - (map :uri)) => ["/a/1" |
28 |
| - "/a/2" |
29 |
| - "/a/3" |
30 |
| - "/a/b/4" |
31 |
| - "/a/b/5" |
32 |
| - "/a/c/6" |
33 |
| - "/a/c/7" |
34 |
| - "/a/c/8" |
35 |
| - "/a/c/9" |
36 |
| - "/a/c/10"])) |
| 29 | + (map first)) => ["/a/1" |
| 30 | + "/a/2" |
| 31 | + "/a/3" |
| 32 | + "/a/b/4" |
| 33 | + "/a/b/5" |
| 34 | + "/a/c/6" |
| 35 | + "/a/c/7" |
| 36 | + "/a/c/8" |
| 37 | + "/a/c/9" |
| 38 | + "/a/c/10"]))) |
0 commit comments