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,15 +17,17 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
end end
test "should create user" do test "should create user" do
assert_difference("User.count") do stub_environment(REGISTRATION_ALLOWED: "true") do
params = { assert_difference("User.count") do
user: { params = {
email: "userthree@example.local", user: {
password: "secret", email: "userthree@example.local",
password_confirmation: "secret" password: "secret",
password_confirmation: "secret"
}
} }
} 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)

View file

@ -15,12 +15,14 @@ class UsersTest < ApplicationSystemTestCase
visit users_url visit users_url
click_on "Sign up" click_on "Sign up"
fill_in "Email", with: "userthree@example.local" stub_environment(REGISTRATION_ALLOWED: "true") do
fill_in "Password", with: "secret" fill_in "Email", with: "userthree@example.local"
fill_in "Password confirmation", with: "secret" fill_in "Password", with: "secret"
click_on "Create User" fill_in "Password confirmation", with: "secret"
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