@@ -30,6 +30,28 @@ defmodule CodeCorps.TokenControllerTest do
3030 assert_received { :track , ^ user_id , "Signed In" , % { } }
3131 end
3232
33+ test "does not authenticate and renders errors when the email and password are missing" , % { conn: conn } do
34+ conn = post conn , token_path ( conn , :create ) , % { "username" => "" }
35+
36+ response = json_response ( conn , 401 )
37+ [ error | _ ] = response [ "errors" ]
38+ assert error [ "detail" ] == "Please enter your email and password."
39+ assert renders_401_unauthorized? ( error )
40+ refute response [ "token" ]
41+ refute response [ "user_id" ]
42+ end
43+
44+ test "does not authenticate and renders errors when only the password is missing" , % { conn: conn } do
45+ conn = post conn , token_path ( conn , :create ) , % { "username" => "test@email.com" }
46+
47+ response = json_response ( conn , 401 )
48+ [ error | _ ] = response [ "errors" ]
49+ assert error [ "detail" ] == "Please enter your password."
50+ assert renders_401_unauthorized? ( error )
51+ refute response [ "token" ]
52+ refute response [ "user_id" ]
53+ end
54+
3355 test "does not authenticate and renders errors when the password is wrong" , % { conn: conn } do
3456 user = build ( :user , % { password: "password" } ) |> set_password ( "password" ) |> insert
3557 conn = post conn , token_path ( conn , :create ) , create_payload ( user . email , "wrong password" )
0 commit comments