group :test do
gem 'capybara', '~> 2.14'
+ gem 'climate_control', '~> 0.2'
gem 'faker', '~> 1.7'
gem 'microformats2', '~> 3.0'
gem 'rails-controller-testing', '~> 1.0'
capistrano-yarn (~> 2.0)
capybara (~> 2.14)
cld3 (~> 3.1)
+ climate_control (~> 0.2)
devise (~> 4.2)
devise-two-factor (~> 3.0)
doorkeeper (~> 4.2)
it "does not force ssl if LOCAL_HTTPS is not 'true'" do
routes.draw { get 'success' => 'anonymous#success' }
- ENV['LOCAL_HTTPS'] = ''
- allow(Rails.env).to receive(:production?).and_return(true)
- get 'success'
- expect(response).to have_http_status(: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
end
it "forces ssl if LOCAL_HTTPS is 'true'" do
routes.draw { get 'success' => 'anonymous#success' }
- ENV['LOCAL_HTTPS'] = 'true'
- allow(Rails.env).to receive(:production?).and_return(true)
- get 'success'
- expect(response).to redirect_to('https://test.host/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
end
describe 'helper_method :current_account' do
require "rails_helper"
feature "Log in" do
- scenario "A valid email and password user is able to log in" do
- email = "test@example.com"
- password = "password"
+ given(:email) { "test@examle.com" }
+ given(:password) { "password" }
+
+ background do
Fabricate(:user, email: email, password: password)
+ end
+ scenario "A valid email and password user is able to log in" do
visit new_user_session_path
fill_in "user_email", with: email
fill_in "user_password", with: password