diff --git a/src/metabase/api/search.clj b/src/metabase/api/search.clj index 2ccce714cba198694b389679f6e613c3cbcc39ff..27530ba686f91564ce4e3622016d572cadaefc38 100644 --- a/src/metabase/api/search.clj +++ b/src/metabase/api/search.clj @@ -171,7 +171,9 @@ [model archived?] (if archived? [:= 1 0] ; No tables should appear in archive searches - [:= (hsql/qualify (model->alias model) :active) true])) + [:and + [:= (hsql/qualify (model->alias model) :active) true] + [:= (hsql/qualify (model->alias model) :visibility_type) nil]])) (defn- wildcard-match [s] diff --git a/test/metabase/api/search_test.clj b/test/metabase/api/search_test.clj index bf224f0ea1766865765d688a752065eb8121d735..5d2b3da5272010f32864fdf6d2f5f8cf9405c6fc 100644 --- a/test/metabase/api/search_test.clj +++ b/test/metabase/api/search_test.clj @@ -481,6 +481,12 @@ (do-test-users [user [:crowberto :rasta]] (is (= [(default-table-search-row "Round Table")] (search-request-data user :q "Round Table")))))) + (testing "You should not see hidden tables" + (mt/with-temp* [Table [normal {:name "Foo Visible"}] + Table [hidden {:name "Foo Hidden", :visibility_type "hidden"}]] + (do-test-users [user [:crowberto :rasta]] + (is (= [(default-table-search-row "Foo Visible")] + (search-request-data user :q "Foo")))))) (testing "You should be able to search by their display name" (let [lancelot "Lancelot's Favorite Furniture"] (mt/with-temp Table [table {:name "Round Table" :display_name lancelot}]