Stub environment in tests
All checks were successful
Ruby CI / test (pull_request) Successful in 18s

This commit is contained in:
Andrew Tomaka 2024-09-08 22:17:11 -04:00
parent 18a8c4a3d7
commit 32c1e60191
Signed by: atomaka
GPG key ID: 61209BF70A5B18BE
3 changed files with 28 additions and 13 deletions

View file

@ -17,6 +17,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
end end
test "should create user" do test "should create user" do
stub_environment(REGISTRATION_ALLOWED: "true") do
assert_difference("User.count") do assert_difference("User.count") do
params = { params = {
user: { user: {
@ -27,6 +28,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
} }
post users_url, params: params post users_url, params: params
end end
end
assert_redirected_to user_url(User.last) assert_redirected_to user_url(User.last)
end end

View file

@ -15,12 +15,14 @@ class UsersTest < ApplicationSystemTestCase
visit users_url visit users_url
click_on "Sign up" click_on "Sign up"
stub_environment(REGISTRATION_ALLOWED: "true") do
fill_in "Email", with: "userthree@example.local" fill_in "Email", with: "userthree@example.local"
fill_in "Password", with: "secret" fill_in "Password", with: "secret"
fill_in "Password confirmation", with: "secret" fill_in "Password confirmation", with: "secret"
click_on "Create User" click_on "Create User"
assert_text "User was successfully created" assert_text "User was successfully created"
end
click_on "Back" click_on "Back"
end end

View file

@ -14,4 +14,15 @@ class ActiveSupport::TestCase
post sessions_url, params: { session: { email: email, password: password } } post sessions_url, params: { session: { email: email, password: password } }
assert session[:current_user_id].present? assert session[:current_user_id].present?
end end
def stub_environment(env)
old_env = ENV.to_hash
ENV.update(env.stringify_keys)
begin
yield
ensure
ENV.replace(old_env)
end
end
end end