This is an automated email from the ASF dual-hosted git repository. rnewson pushed a commit to branch group-search-elixir-test in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit c3c0a7037447b2e977ebb19989a39cbb18184ffb Author: Robert Newson <[email protected]> AuthorDate: Mon Mar 9 17:49:48 2026 +0000 add group test for search --- test/elixir/test/config/search.elixir | 1 + test/elixir/test/search_test.exs | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/test/elixir/test/config/search.elixir b/test/elixir/test/config/search.elixir index a3ef2882b..9e998cd29 100644 --- a/test/elixir/test/config/search.elixir +++ b/test/elixir/test/config/search.elixir @@ -32,6 +32,7 @@ "facet counts, empty", "facet ranges, empty", "facet ranges, non-empty", + "group search", "timeouts do not expose internal state" ], "BasicTextTest": [ diff --git a/test/elixir/test/search_test.exs b/test/elixir/test/search_test.exs index ad5a13dbb..edf6858cf 100644 --- a/test/elixir/test/search_test.exs +++ b/test/elixir/test/search_test.exs @@ -306,6 +306,28 @@ defmodule SearchTest do assert ranges == %{"price" => %{}} end + @tag :with_db + test "group search", context do + db_name = context[:db_name] + create_search_docs(db_name) + create_ddoc(db_name) + + url = "/#{db_name}/_design/inventory/_search/fruits" + ranges = %{"price" => %{}} + resp = Couch.get(url, query: %{q: "*:*", group_field: "state"}) + assert_on_status(resp, 200, "Fail to do search.") + + %{:body => %{"groups" => groups}} = resp + assert length(groups) == 3 + Enum.each(groups, fn g -> + case g["by"] do + "new" -> assert g["total_rows"] == 2 + "old" -> assert g["total_rows"] == 1 + "unknown" -> assert g["total_rows"] == 1 + end + end) + end + @tag :with_db test "timeouts do not expose internal state", context do db_name = context[:db_name]
