diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aaa2b9..a7effd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +# v1.0.??? (not yet released) + +* Return ATC matching to same approach as before switch to SQLite and support '*' and '?' for wildcards + # v1.0.200 - 2024-04-27 * Automated tests using GitHub Actions on every commit to main branch and weekly with every release of dm+d in the UK diff --git a/test/src/com/eldrix/dmd/live_test.clj b/test/src/com/eldrix/dmd/live_test.clj index 06f6c39..f8b6ee2 100644 --- a/test/src/com/eldrix/dmd/live_test.clj +++ b/test/src/com/eldrix/dmd/live_test.clj @@ -1,10 +1,8 @@ (ns com.eldrix.dmd.live-test - (:require [clojure.set :as set] - [clojure.spec.alpha :as s] + (:require [clojure.java.io :as io] [clojure.spec.test.alpha :as stest] - [clojure.test :as t :refer [deftest testing is use-fixtures]] - [com.eldrix.dmd.core :as dmd] - [clojure.test :as t])) + [clojure.test :as t :refer [deftest is use-fixtures]] + [com.eldrix.dmd.core :as dmd])) (stest/instrument) @@ -16,7 +14,9 @@ (or (System/getenv "TRUD_API_KEY_FILE") "api-key.txt")) (defn live-test-fixture [f] - (dmd/install-release (trud-api-key-filename) "cache" "latest-dmd.db") + (if (.exists (io/file "latest-dmd.db")) + (println "WARNING: skipping test of install-release as using existing latest-dmd.db. Delete this file if required.") + (dmd/install-release (trud-api-key-filename) "cache" "latest-dmd.db")) (binding [*db* (dmd/open-store "latest-dmd.db")] (f) (dmd/close *db*))) diff --git a/test/src/com/eldrix/dmd/store_test.clj b/test/src/com/eldrix/dmd/store_test.clj index 95f6aac..5d7ef2b 100644 --- a/test/src/com/eldrix/dmd/store_test.clj +++ b/test/src/com/eldrix/dmd/store_test.clj @@ -48,7 +48,12 @@ (is (= "C03EB01" (dmd/atc-for-product st 34186711000001102))) ;; test from VTM (is (= "C03EB01" (dmd/atc-for-product st 37365811000001102))) ;; test from AMP (is (= "C03EB01" (dmd/atc-for-product st 37365911000001107))) ;; test from AMPP - (is (= #{318136009} (set (dmd/vpids-from-atc st "C03*")))) + (is (empty? (dmd/vpids-from-atc st "C03")) "Must use an explicit wildcard for ATC matching; no longer does prefix search without asking") + (is (= #{318136009} + (set (dmd/vpids-from-atc st "C03*")) + (set (dmd/vpids-from-atc st "C03EB01")) + (set (dmd/vpids-from-atc st "C0?EB01")) + (set (dmd/vpids-from-atc st "C03EB0?")))) (is (= ["mg" "mg"] (map #(get-in % [:VMP__VIRTUAL_PRODUCT_INGREDIENT/STRNT_NMRTR_UOM :UNIT_OF_MEASURE/DESC]) (:VMP/VIRTUAL_PRODUCT_INGREDIENTS co-amilofruse-vmp-2)))) (is (= #{318136009 318135008} (set (map :VMP/VPID (dmd/vmps-for-product st 34186711000001102))))) (is (= 34186711000001102 (:VTM/VTMID (first (dmd/vtms-for-product st 318135008)))))