     (is (= 200 status ))
     (is (= [(:concept-id coll1)] (map :concept-id concepts)))))
 
+(defn- save-collection
+  "Given a provider-id, unique number, and attribute map, save a version of the collection."
+  [provider-id uniq-num attributes]
+  (let [concept (util/collection-concept provider-id uniq-num attributes)
+        {:keys [concept-id revision-id]} (util/save-concept concept)]
+    (assoc concept :revision-id revision-id :concept-id concept-id)))
+
 (deftest find-collections
-  (let [coll1 (util/create-and-save-collection "REG_PROV" 1 1 {:extra-fields {:entry-id "entry-1"
-                                                                                :entry-title "et1"
-                                                                                :version-id "v1"
-                                                                                :short-name "s1"}})
-        coll2-2 (util/create-and-save-collection "REG_PROV" 2 2 {:extra-fields {:entry-id "entry-2"
-                                                                                          :entry-title "et2"
-                                                                                          :version-id "v1"
-                                                                                          :short-name "s2"}})
-        coll2-1 (assoc coll2-2 :revision-id 1)
-        coll3 (util/create-and-save-collection "SMAL_PROV1" 3 1 {:extra-fields {:entry-id "entry-3"
-                                                                                  :entry-title "et3"
-                                                                                  :version-id "v3"
-                                                                                  :short-name "s3"}})
-        coll4-3 (util/create-and-save-collection "SMAL_PROV2" 4 3 {:extra-fields {:entry-id "entry-1"
-                                                                                                    :entry-title "et1"
-                                                                                                    :version-id "v3"
-                                                                                                    :short-name "s4"}})
-        coll4-1 (assoc coll4-3 :revision-id 1)
-        coll4-2 (assoc coll4-3 :revision-id 2)]
+  (let [coll1 (save-collection "REG_PROV" 1 {:extra-fields {:entry-id "entry-1"
+                                                            :entry-title "et1"
+                                                            :version-id "v1"
+                                                            :short-name "s1"}})
+        coll2-1 (save-collection "REG_PROV" 2 {:extra-fields {:entry-id "entry-2"
+                                                              :entry-title "et2"
+                                                              :version-id "v1"
+                                                              :short-name "s2"}})
+        coll2-2 (save-collection "REG_PROV" 2 {:extra-fields {:entry-id "entry-2"
+                                                              :entry-title "et2"
+                                                              :version-id "v2"
+                                                              :short-name "s2"}})
+        coll3 (save-collection "SMAL_PROV1" 3 {:extra-fields {:entry-id "entry-3"
+                                                              :entry-title "et3"
+                                                              :version-id "v3"
+                                                              :short-name "s3"}})
+        coll4-1 (save-collection "SMAL_PROV2" 4 {:extra-fields {:entry-id "entry-1"
+                                                                :entry-title "et1"
+                                                                :version-id "v3"
+                                                                :short-name "s4"}})
+        coll4-2 (save-collection "SMAL_PROV2" 4 {:extra-fields {:entry-id "entry-1"
+                                                                :entry-title "et1"
+                                                                :version-id "v4"
+                                                                :short-name "s4"}})
+        coll4-3 (save-collection "SMAL_PROV2" 4 {:extra-fields {:entry-id "entry-1"
+                                                                :entry-title "et1"
+                                                                :version-id "v5"
+                                                                :short-name "s4"}})]
     (testing "find-with-parameters"
       (are2 [collections params]
             (= (set collections)

            [coll4-3] {:provider-id "SMAL_PROV2" :entry-id "entry-1" :latest true}

            "regular provider - short-name, version-id"
            [coll2-2] {:short-name "s2" :version-id "v1" :latest true}

            "small provider - short-name, version-id"
            [coll4-3] {:short-name "s4" :version-id "v3" :latest true}

            "small provider - match multiple - version-id"
            [coll3 coll4-3] {:version-id "v3" :latest true}

            ;; This test verifies that the provider-id is being used with the small_providers
            ;; table. Otherwise we would get both coll3 and coll4 back (see previous test).
            "small provider - provider-id, version-id"
            [coll4-3] {:provider-id "SMAL_PROV2" :version-id "v3" :latest true}

            "mixed providers - entry-title"
            [coll1 coll4-3] {:entry-title "et1" :latest true}

            [coll4-3] {:concept-id (:concept-id coll4-1) :latest true}

            "concept-id and version-id - latest"
            [coll4-3] {:concept-id (:concept-id coll4-1) :version-id "v5" :latest true}

            "find none - bad provider-id"
            [] {:provider-id "PROV_NONE" :latest true}
