From a280c1a70a4e4b27b645dc00bc01744a6b4c0735 Mon Sep 17 00:00:00 2001 From: Nikola Begedin Date: Wed, 20 Dec 2017 17:03:34 +0100 Subject: [PATCH] Removed unused code from Messages.list --- lib/code_corps/messages/messages.ex | 2 - lib/code_corps/messages/query.ex | 29 -------- .../lib/code_corps/messages/messages_test.exs | 68 +------------------ 3 files changed, 1 insertion(+), 98 deletions(-) delete mode 100644 lib/code_corps/messages/query.ex diff --git a/lib/code_corps/messages/messages.ex b/lib/code_corps/messages/messages.ex index c3ef922f8..0b9decdfa 100644 --- a/lib/code_corps/messages/messages.ex +++ b/lib/code_corps/messages/messages.ex @@ -20,8 +20,6 @@ defmodule CodeCorps.Messages do def list(scope, %{} = params) do scope |> Query.id_filter(params) - |> Messages.Query.author_filter(params) - |> Messages.Query.project_filter(params) |> Repo.all() end diff --git a/lib/code_corps/messages/query.ex b/lib/code_corps/messages/query.ex deleted file mode 100644 index 01cd1d7e5..000000000 --- a/lib/code_corps/messages/query.ex +++ /dev/null @@ -1,29 +0,0 @@ -defmodule CodeCorps.Messages.Query do - @moduledoc ~S""" - Holds helpers to query `CodeCorps.Message` records using a map of params. - """ - - import Ecto.Query, only: [where: 3] - - alias Ecto.Queryable - - @doc ~S""" - Narrows down a `CodeCorps.Message` query by `author_id`, if specified in a - params map - """ - @spec author_filter(Queryable.t, map) :: Queryable.t - def author_filter(queryable, %{"author_id" => author_id}) do - queryable |> where([m], m.author_id == ^author_id) - end - def author_filter(queryable, %{}), do: queryable - - @doc ~S""" - Narrows down a `CodeCorps.Message` query by `project_id`, if specified in a - params map - """ - @spec project_filter(Queryable.t, map) :: Queryable.t - def project_filter(queryable, %{"project_id" => project_id}) do - queryable |> where([m], m.project_id == ^project_id) - end - def project_filter(queryable, %{}), do: queryable -end diff --git a/test/lib/code_corps/messages/messages_test.exs b/test/lib/code_corps/messages/messages_test.exs index d041f7fdc..83c9d9399 100644 --- a/test/lib/code_corps/messages/messages_test.exs +++ b/test/lib/code_corps/messages/messages_test.exs @@ -20,38 +20,6 @@ defmodule CodeCorps.MessagesTest do assert Message |> Messages.list(%{}) |> Enum.count == 3 end - test "can filter by project" do - [project_1, project_2] = insert_pair(:project) - messages_from_project_1 = insert_pair(:message, project: project_1) - message_from_project_2 = insert(:message, project: project_2) - - results = Message |> Messages.list(%{"project_id" => project_1.id}) - assert results |> Enum.count == 2 - assert results |> get_and_sort_ids() == - messages_from_project_1 |> get_and_sort_ids() - - results = Message |> Messages.list(%{"project_id" => project_2.id}) - assert results |> Enum.count == 1 - assert results |> get_and_sort_ids() == - [message_from_project_2.id] - end - - test "can filter by author" do - [author_1, author_2] = insert_pair(:user) - messages_from_author_1 = insert_pair(:message, author: author_1) - message_from_author_2 = insert(:message, author: author_2) - - results = Message |> Messages.list(%{"author_id" => author_1.id}) - assert results |> Enum.count == 2 - assert results |> get_and_sort_ids() == - messages_from_author_1 |> get_and_sort_ids() - - results = Message |> Messages.list(%{"author_id" => author_2.id}) - assert results |> Enum.count == 1 - assert results |> get_and_sort_ids() == - [message_from_author_2.id] - end - test "can filter by list of ids" do [message_1, message_2, message_3] = insert_list(3, :message) @@ -68,40 +36,6 @@ defmodule CodeCorps.MessagesTest do [message_2] |> get_and_sort_ids() end - test "can apply multiple filters at once" do - [project_1, project_2] = insert_pair(:project) - [author_1, author_2] = insert_pair(:user) - - message_p1_a1 = insert(:message, project: project_1, author: author_1) - message_p1_a2 = insert(:message, project: project_1, author: author_2) - message_p2_a1 = insert(:message, project: project_2, author: author_1) - message_p2_a2 = insert(:message, project: project_2, author: author_2) - - params = %{"project_id" => project_1.id, "author_id" => author_1.id} - results = Message |> Messages.list(params) - assert results |> get_and_sort_ids() == [message_p1_a1.id] - - params = %{"project_id" => project_1.id, "author_id" => author_2.id} - results = Message |> Messages.list(params) - assert results |> get_and_sort_ids() == [message_p1_a2.id] - - params = %{"project_id" => project_2.id, "author_id" => author_1.id} - results = Message |> Messages.list(params) - assert results |> get_and_sort_ids() == [message_p2_a1.id] - - params = %{"project_id" => project_2.id, "author_id" => author_2.id} - results = Message |> Messages.list(params) - assert results |> get_and_sort_ids() == [message_p2_a2.id] - - params = %{ - "filter" => %{"id" => "#{message_p1_a1.id},#{message_p2_a1.id}"}, - "project_id" => project_1.id - } - results = Message |> Messages.list(params) - - assert results |> get_and_sort_ids() == [message_p1_a1.id] - end - test "builds upon the provided scope" do [%{id: project_1_id} = project_1, project_2] = insert_pair(:project) [author_1, author_2] = insert_pair(:user) @@ -111,7 +45,7 @@ defmodule CodeCorps.MessagesTest do message_p2_a1 = insert(:message, project: project_2, author: author_1) message_p2_a2 = insert(:message, project: project_2, author: author_2) - params = %{"author_id" => author_1.id} + params = %{"filter" => %{"id" => "#{message_p1_a1.id}"}} result_ids = Message |> where(project_id: ^project_1_id)