summaryrefslogtreecommitdiff
path: root/test/elixir/test/view_test.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/elixir/test/view_test.exs')
-rw-r--r--test/elixir/test/view_test.exs156
1 files changed, 0 insertions, 156 deletions
diff --git a/test/elixir/test/view_test.exs b/test/elixir/test/view_test.exs
deleted file mode 100644
index bfe28b573..000000000
--- a/test/elixir/test/view_test.exs
+++ /dev/null
@@ -1,156 +0,0 @@
-defmodule ViewTest do
- use CouchTestCase
-
- @moduletag :view
- @moduletag kind: :single_node
-
- @moduledoc """
- Test CouchDB /{db}/_design/{ddoc}/_view/{view}
- """
-
- setup_all do
- db_name = random_db_name()
- {:ok, _} = create_db(db_name)
- on_exit(fn -> delete_db(db_name) end)
-
- {:ok, _} = create_doc(
- db_name,
- %{
- _id: "foo",
- bar: "baz"
- }
- )
-
- {:ok, _} = create_doc(
- db_name,
- %{
- _id: "foo2",
- bar: "baz2"
- }
- )
-
- map_fun = """
- function(doc) {
- emit(doc._id, doc.bar);
- }
- """
-
-
- body = %{
- :docs => [
- %{
- _id: "_design/map",
- views: %{
- some: %{
- map: map_fun
- }
- }
- }
- ]
- }
-
- resp = Couch.post("/#{db_name}/_bulk_docs", body: body)
- Enum.each(resp.body, &assert(&1["ok"]))
-
- {:ok, [db_name: db_name]}
- end
-
- test "GET with no parameters", context do
- resp = Couch.get(
- "/#{context[:db_name]}/_design/map/_view/some"
- )
-
- assert resp.status_code == 200
- assert length(Map.get(resp, :body)["rows"]) == 2
- end
-
- test "GET with one key", context do
- resp = Couch.get(
- "/#{context[:db_name]}/_design/map/_view/some",
- query: %{
- :key => "\"foo\"",
- }
- )
-
- assert resp.status_code == 200
- assert length(Map.get(resp, :body)["rows"]) == 1
- end
-
- test "GET with multiple keys", context do
- resp = Couch.get(
- "/#{context[:db_name]}/_design/map/_view/some",
- query: %{
- :keys => "[\"foo\", \"foo2\"]",
- }
- )
-
- assert resp.status_code == 200
- assert length(Map.get(resp, :body)["rows"]) == 2
- end
-
- test "POST with empty body", context do
- resp = Couch.post(
- "/#{context[:db_name]}/_design/map/_view/some",
- body: %{}
- )
-
- assert resp.status_code == 200
- assert length(Map.get(resp, :body)["rows"]) == 2
- end
-
- test "POST with keys and limit", context do
- resp = Couch.post(
- "/#{context[:db_name]}/_design/map/_view/some",
- body: %{
- :keys => ["foo", "foo2"],
- :limit => 1
- }
- )
-
- assert resp.status_code == 200
- assert length(Map.get(resp, :body)["rows"]) == 1
- end
-
- test "POST with query parameter and JSON body", context do
- resp = Couch.post(
- "/#{context[:db_name]}/_design/map/_view/some",
- query: %{
- :limit => 1
- },
- body: %{
- :keys => ["foo", "foo2"]
- }
- )
-
- assert resp.status_code == 200
- assert length(Map.get(resp, :body)["rows"]) == 1
- end
-
- test "POST edge case with colliding parameters - query takes precedence", context do
- resp = Couch.post(
- "/#{context[:db_name]}/_design/map/_view/some",
- query: %{
- :limit => 1
- },
- body: %{
- :keys => ["foo", "foo2"],
- :limit => 2
- }
- )
-
- assert resp.status_code == 200
- assert length(Map.get(resp, :body)["rows"]) == 1
- end
-
- test "POST with boolean parameter", context do
- resp = Couch.post(
- "/#{context[:db_name]}/_design/map/_view/some",
- body: %{
- :stable => true,
- :update => true
- }
- )
-
- assert resp.status_code == 200
- end
-end