Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. defmodule PhoenixApi.UserControllerTest do
  2. use PhoenixApi.ConnCase
  3.  
  4. alias PhoenixApi.User
  5. @valid_attrs %{email: "some content", name: "some content", password_hash: "some content"}
  6. @invalid_attrs %{}
  7.  
  8. setup %{conn: conn} do
  9. {:ok, conn: put_req_header(conn, "accept", "application/json")}
  10. end
  11.  
  12. test "lists all entries on index", %{conn: conn} do
  13. conn = get conn, user_path(conn, :index)
  14. assert json_response(conn, 200)["data"] == []
  15. end
  16.  
  17. test "shows chosen resource", %{conn: conn} do
  18. user = Repo.insert! %User{ email: "some content" }
  19. conn = get conn, user_path(conn, :show, user)
  20. assert json_response(conn, 200)["data"] == %{"id" => user.id,
  21. "name" => user.name,
  22. "email" => user.email,
  23. "password_hash" => user.password_hash}
  24. end
  25.  
  26. test "renders page not found when id is nonexistent", %{conn: conn} do
  27. assert_error_sent 404, fn ->
  28. get conn, user_path(conn, :show, -1)
  29. end
  30. end
  31.  
  32. test "creates and renders resource when data is valid", %{conn: conn} do
  33. conn = post conn, user_path(conn, :create), user: @valid_attrs
  34. assert json_response(conn, 201)["data"]["id"]
  35. assert Repo.get_by(User, @valid_attrs)
  36. end
  37.  
  38. test "does not create resource and renders errors when data is invalid", %{conn: conn} do
  39. conn = post conn, user_path(conn, :create), user: @invalid_attrs
  40. assert json_response(conn, 422)["errors"] != %{}
  41. end
  42.  
  43. test "updates and renders chosen resource when data is valid", %{conn: conn} do
  44. user = Repo.insert! %User{ email: "some content" }
  45. conn = put conn, user_path(conn, :update, user), user: @valid_attrs
  46. assert json_response(conn, 200)["data"]["id"]
  47. assert Repo.get_by(User, @valid_attrs)
  48. end
  49.  
  50. test "does not update chosen resource and renders errors when data is invalid", %{conn: conn} do
  51. user = Repo.insert! %User{ email: "some content" }
  52. conn = put conn, user_path(conn, :update, user), user: @invalid_attrs
  53. assert json_response(conn, 422)["errors"] != %{}
  54. end
  55.  
  56. test "deletes chosen resource", %{conn: conn} do
  57. user = Repo.insert! %User{ email: "some content" }
  58. conn = delete conn, user_path(conn, :delete, user)
  59. assert response(conn, 204)
  60. refute Repo.get(User, user.id)
  61. end
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement