2024-07-22 15:37:03 +02:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
class SessionsControllerTest < ActionDispatch::IntegrationTest
|
|
|
|
setup do
|
|
|
|
@user = users(:family_admin)
|
|
|
|
end
|
|
|
|
|
2024-10-03 14:42:22 -04:00
|
|
|
test "login page" do
|
|
|
|
get new_session_url
|
|
|
|
assert_response :success
|
|
|
|
end
|
|
|
|
|
2024-07-22 15:37:03 +02:00
|
|
|
test "can sign in" do
|
2024-10-03 14:42:22 -04:00
|
|
|
sign_in @user
|
2024-07-22 15:37:03 +02:00
|
|
|
assert_redirected_to root_url
|
2024-10-03 14:42:22 -04:00
|
|
|
|
|
|
|
get root_url
|
|
|
|
assert_response :success
|
2024-07-22 15:37:03 +02:00
|
|
|
end
|
|
|
|
|
2024-10-03 14:42:22 -04:00
|
|
|
test "fails to sign in with bad password" do
|
|
|
|
post sessions_url, params: { email: @user.email, password: "bad" }
|
|
|
|
assert_response :unprocessable_entity
|
|
|
|
assert_equal "Invalid email or password.", flash[:alert]
|
|
|
|
end
|
|
|
|
|
|
|
|
test "can sign out" do
|
|
|
|
sign_in @user
|
|
|
|
|
|
|
|
delete session_url(@user.sessions.order(:created_at).last)
|
2024-10-23 11:20:55 -04:00
|
|
|
assert_redirected_to new_session_path
|
2024-10-03 14:42:22 -04:00
|
|
|
assert_equal "You have signed out successfully.", flash[:notice]
|
2024-07-22 15:37:03 +02:00
|
|
|
end
|
2024-10-24 17:28:29 -04:00
|
|
|
|
|
|
|
test "super admins can access the jobs page" do
|
|
|
|
sign_in users(:maybe_support_staff)
|
|
|
|
get good_job_url
|
|
|
|
assert_redirected_to "http://www.example.com/good_job/jobs?locale=en"
|
|
|
|
end
|
|
|
|
|
|
|
|
test "non-super admins cannot access the jobs page" do
|
|
|
|
get good_job_url
|
|
|
|
assert_response :not_found
|
|
|
|
end
|
2024-07-22 15:37:03 +02:00
|
|
|
end
|