Fix force_ssl conditional (#6201)

This commit is contained in:
Yamagishi Kazutoshi 2018-01-07 23:19:23 +09:00 committed by Eugen Rochko
parent da809f9eec
commit 1d92b90be9
3 changed files with 10 additions and 14 deletions

View File

@ -30,7 +30,7 @@ class ApplicationController < ActionController::Base
private
def https_enabled?
Rails.env.production? && ENV['LOCAL_HTTPS'] == 'true'
Rails.env.production?
end
def store_current_location

View File

@ -47,22 +47,18 @@ describe ApplicationController, type: :controller do
include_examples 'respond_with_error', 422
end
it "does not force ssl if LOCAL_HTTPS is not 'true'" do
it "does not force ssl if Rails.env.production? is not 'true'" do
routes.draw { get 'success' => 'anonymous#success' }
ClimateControl.modify LOCAL_HTTPS: '' do
allow(Rails.env).to receive(:production?).and_return(true)
get 'success'
expect(response).to have_http_status(:success)
end
allow(Rails.env).to receive(:production?).and_return(false)
get 'success'
expect(response).to have_http_status(:success)
end
it "forces ssl if LOCAL_HTTPS is 'true'" do
it "forces ssl if Rails.env.production? is 'true'" do
routes.draw { get 'success' => 'anonymous#success' }
ClimateControl.modify LOCAL_HTTPS: 'true' do
allow(Rails.env).to receive(:production?).and_return(true)
get 'success'
expect(response).to redirect_to('https://test.host/success')
end
allow(Rails.env).to receive(:production?).and_return(true)
get 'success'
expect(response).to redirect_to('https://test.host/success')
end
describe 'helper_method :current_account' do

View File

@ -46,7 +46,7 @@ RSpec.configure do |config|
config.include ActiveSupport::Testing::TimeHelpers
config.before :each, type: :feature do
https = Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'
https = ENV['LOCAL_HTTPS'] == 'true'
Capybara.app_host = "http#{https ? 's' : ''}://#{ENV.fetch('LOCAL_DOMAIN')}"
end