@@ -34,12 +34,17 @@ defmodule ApiEcommerceWeb.UserControllerTest do
3434
3535 setup % { conn: conn } do
3636 { :ok , conn: conn , current_user: current_user } = setup_current_user ( conn )
37- { :ok , conn: put_req_header ( conn , "accept" , "application/json" ) , current_user: current_user }
37+ { :ok , token , _ } = Guardian . encode_and_sign ( current_user )
38+ { :ok , conn: put_req_header ( conn , "accept" , "application/json" ) , current_user: current_user , token: token }
3839 end
3940
4041 describe "index" do
41- test "lists all users" , % { conn: conn , current_user: current_user } do
42- conn = get ( conn , Routes . user_path ( conn , :index ) )
42+ test "lists all users" , % { conn: conn , current_user: current_user , token: token } do
43+
44+ conn = conn
45+ |> put_req_header ( "authorization" , "bearer: " <> token )
46+ |> get ( Routes . user_path ( conn , :index ) )
47+
4348 assert json_response ( conn , 200 ) [ "data" ] == [
4449 % {
4550 "id" => current_user . id ,
@@ -52,13 +57,15 @@ defmodule ApiEcommerceWeb.UserControllerTest do
5257 end
5358
5459 describe "create user" do
55- test "renders user when data is valid" , % { conn: conn } do
56- conn = post ( conn , Routes . user_path ( conn , :create ) , user: @ create_attrs )
57- assert % { "id" => id } = json_response ( conn , 201 ) [ "data" ]
60+ test "renders user when data is valid" , % { conn: conn , token: token } do
61+ request1 = post ( conn , Routes . user_path ( conn , :create ) , user: @ create_attrs )
62+ assert % { "id" => id } = json_response ( request1 , 201 ) [ "data" ]
5863
59- conn = get ( conn , Routes . user_path ( conn , :show , id ) )
64+ request2 = conn
65+ |> put_req_header ( "authorization" , "bearer: " <> token )
66+ |> get ( Routes . user_path ( conn , :show , id ) )
6067
61- assert json_response ( conn , 200 ) [ "data" ] == % {
68+ assert json_response ( request2 , 200 ) [ "data" ] == % {
6269 "id" => id ,
6370 "email" => @ create_attrs . email ,
6471 "status" => "active" ,
@@ -75,31 +82,40 @@ defmodule ApiEcommerceWeb.UserControllerTest do
7582 describe "update user" do
7683 setup [ :create_user ]
7784
78- test "renders user when data is valid" , % { conn: conn , user: % User { id: id } = user } do
79- conn = put ( conn , Routes . user_path ( conn , :update , user ) , user: @ update_attrs )
80- assert % { "id" => ^ id } = json_response ( conn , 200 ) [ "data" ]
85+ test "renders user when data is valid" , % { conn: conn , user: % User { id: id } = user , token: token } do
86+ request1 = conn
87+ |> put_req_header ( "authorization" , "bearer: " <> token )
88+ |> put ( Routes . user_path ( conn , :update , user ) , user: @ update_attrs )
89+
90+ assert % { "id" => ^ id } = json_response ( request1 , 200 ) [ "data" ]
8191
82- conn = get ( conn , Routes . user_path ( conn , :show , id ) )
92+ request2 = conn
93+ |> put_req_header ( "authorization" , "bearer: " <> token )
94+ |> get ( Routes . user_path ( conn , :show , id ) )
8395
84- assert json_response ( conn , 200 ) [ "data" ] == % {
96+ assert json_response ( request2 , 200 ) [ "data" ] == % {
8597 "id" => id ,
8698 "email" => @ update_attrs . email ,
8799 "status" => user . status |> Atom . to_string ( ) ,
88100 "role" => user . role |> Atom . to_string ( )
89101 }
90102 end
91103
92- test "renders errors when data is invalid" , % { conn: conn , user: user } do
93- conn = put ( conn , Routes . user_path ( conn , :update , user ) , user: @ invalid_attrs )
104+ test "renders errors when data is invalid" , % { conn: conn , user: user , token: token } do
105+ conn = conn
106+ |> put_req_header ( "authorization" , "bearer: " <> token )
107+ |> put ( Routes . user_path ( conn , :update , user ) , user: @ invalid_attrs )
94108 assert json_response ( conn , 422 ) [ "errors" ] != % { }
95109 end
96110 end
97111
98112 describe "delete user" do
99113 setup [ :create_user ]
100114
101- test "deletes chosen user" , % { conn: conn , user: user } do
102- conn = delete ( conn , Routes . user_path ( conn , :delete , user ) )
115+ test "deletes chosen user" , % { conn: conn , user: user , token: token } do
116+ conn = conn
117+ |> put_req_header ( "authorization" , "bearer: " <> token )
118+ |> delete ( Routes . user_path ( conn , :delete , user ) )
103119 assert response ( conn , 204 )
104120
105121 assert_error_sent 404 , fn ->
@@ -111,7 +127,10 @@ defmodule ApiEcommerceWeb.UserControllerTest do
111127 describe "sign_in user" do
112128 test "renders user when user credentials are good" , % { conn: conn , current_user: current_user } do
113129 conn =
114- post ( conn , Routes . user_path ( conn , :sign_in , % { email: current_user . email , password: @ current_user_attrs . password } ) )
130+ post (
131+ conn ,
132+ Routes . user_path ( conn , :sign_in , % { email: current_user . email , password: @ current_user_attrs . password } )
133+ )
115134
116135 assert json_response ( conn , 200 ) [ "data" ] [ "id" ] == current_user . id
117136 assert json_response ( conn , 200 ) [ "data" ] [ "email" ] == current_user . email
0 commit comments