Skip to content
Snippets Groups Projects
Commit 7b6436fd authored by Kerdo Kurs's avatar Kerdo Kurs
Browse files

extend TDD #30

parent 0949a3e7
No related branches found
No related tags found
No related merge requests found
......@@ -121,41 +121,41 @@ defmodule PropTrackrWeb.SearchController do
def show(conn, %{ "id" => id }) do
current_user = conn.assigns.current_user
search = case current_user do
nil -> nil
_ -> from(
s in Search,
where: s.id == ^id,
where: s.user_id == ^current_user.id
) |> Repo.one()
end
if search == nil do
conn
|> put_flash(:error, "Search not found")
|> redirect(to: ~p"/search")
else
search = Search.changeset(search)
query = Search.create_query(search.data, current_user)
properties = query |> Repo.all()
if current_user do
search = from(
s in Search,
where: s.id == ^id,
where: s.user_id == ^current_user.id)
|> Repo.one()
if search == nil do
conn
|> put_flash(:error, "Search not found")
|> redirect(to: ~p"/search")
else
search = Search.changeset(search)
query = Search.create_query(search.data, current_user)
properties = query |> Repo.all()
favorites = Repo.all(
from f in Favorite,
where: f.user_id == ^current_user.id,
select: f.property_id
)
favorites = case current_user do
nil -> []
_ ->
Repo.all(
from f in Favorite,
where: f.user_id == ^current_user.id,
select: f.property_id
)
render(
conn, "index.html",
properties: properties,
header_text: "Search results",
is_search: true,
favorites: favorites
)
end
render(
conn, "index.html",
properties: properties,
header_text: "Search results",
is_search: true,
favorites: favorites
)
else
conn
|> put_flash(:error, "You are not logged in")
|> redirect(to: "/login")
end
end
end
......@@ -487,6 +487,15 @@ defmodule PropTrackrWeb.SearchControllerTest do
assert result =~ ~r/Search results/
end
test "4.4 Unauthenticated user should be redirected to login page when trying to view a saved search page", %{ conn: conn } do
conn = get conn, "/search/1"
assert redirected_to(conn) == "/login"
conn = get conn, redirected_to(conn)
assert get_flash(conn, :error) =~ ~r/You are not logged in/
end
test "4.4 Authenticated user should not see another user's search when clicking on it", %{ conn: conn, user: user, another_user: another_user, properties: _properties } do
conn = conn |> setup_session(user)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment