Skip to content

Commit

Permalink
Add ability to search to organizations, projects
Browse files Browse the repository at this point in the history
  • Loading branch information
knewter committed Nov 1, 2016
1 parent 05f62bb commit bd2d268
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 0 deletions.
Expand Up @@ -24,6 +24,14 @@ defmodule TimeTrackerBackend.OrganizationControllerTest do
assert length(response) == 10
end

test "searches entries on index with query", %{conn: conn} do
insert_list(12, :organization)
insert(:organization, %{name: "jabbity"})
conn = get conn, organization_path(conn, :index, %{q: "jabbit"})
response = json_response(conn, 200)["data"]
assert (hd response)["name"] == "jabbity"
end

test "shows chosen resource", %{conn: conn} do
organization = Repo.insert! %Organization{}
conn = get conn, organization_path(conn, :show, organization)
Expand Down
Expand Up @@ -24,6 +24,14 @@ defmodule TimeTrackerBackend.ProjectControllerTest do
assert length(response) == 10
end

test "searches entries on index with query", %{conn: conn} do
insert_list(12, :project)
insert(:project, %{name: "jabbity"})
conn = get conn, project_path(conn, :index, %{q: "jabbit"})
response = json_response(conn, 200)["data"]
assert (hd response)["name"] == "jabbity"
end

test "shows chosen resource", %{conn: conn} do
project = Repo.insert! %Project{}
conn = get conn, project_path(conn, :show, project)
Expand Down
Expand Up @@ -3,9 +3,16 @@ defmodule TimeTrackerBackend.OrganizationController do

alias TimeTrackerBackend.Organization

defp search(query, %{ "q" => q }) do
from u in query,
where: ilike(u.name, ^"%#{q}%")
end
defp search(query, _), do: query

def index(conn, params) do
page =
Organization
|> search(params)
|> Repo.paginate(params)

conn
Expand Down
7 changes: 7 additions & 0 deletions time_tracker_backend/web/controllers/project_controller.ex
@@ -1,9 +1,16 @@
defmodule TimeTrackerBackend.ProjectController do
use TimeTrackerBackend.Web, :controller

defp search(query, %{ "q" => q }) do
from u in query,
where: ilike(u.name, ^"%#{q}%")
end
defp search(query, _), do: query

def index(conn, params) do
page =
Project
|> search(params)
|> Repo.paginate(params)

conn
Expand Down

0 comments on commit bd2d268

Please sign in to comment.