* Keep ENV['LOCAL_HTTPS'] with ApplicationControllerSpec (fix random fail) * use climate_controlmaster
@@ -70,6 +70,7 @@ end | |||||
group :test do | group :test do | ||||
gem 'capybara', '~> 2.14' | gem 'capybara', '~> 2.14' | ||||
gem 'climate_control', '~> 0.2' | |||||
gem 'faker', '~> 1.7' | gem 'faker', '~> 1.7' | ||||
gem 'microformats2', '~> 3.0' | gem 'microformats2', '~> 3.0' | ||||
gem 'rails-controller-testing', '~> 1.0' | gem 'rails-controller-testing', '~> 1.0' | ||||
@@ -487,6 +487,7 @@ DEPENDENCIES | |||||
capistrano-yarn (~> 2.0) | capistrano-yarn (~> 2.0) | ||||
capybara (~> 2.14) | capybara (~> 2.14) | ||||
cld3 (~> 3.1) | cld3 (~> 3.1) | ||||
climate_control (~> 0.2) | |||||
devise (~> 4.2) | devise (~> 4.2) | ||||
devise-two-factor (~> 3.0) | devise-two-factor (~> 3.0) | ||||
doorkeeper (~> 4.2) | doorkeeper (~> 4.2) | ||||
@@ -39,18 +39,20 @@ describe ApplicationController, type: :controller do | |||||
it "does not force ssl if LOCAL_HTTPS is not 'true'" do | it "does not force ssl if LOCAL_HTTPS is not 'true'" do | ||||
routes.draw { get 'success' => 'anonymous#success' } | 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 | end | ||||
it "forces ssl if LOCAL_HTTPS is 'true'" do | it "forces ssl if LOCAL_HTTPS is 'true'" do | ||||
routes.draw { get 'success' => 'anonymous#success' } | 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 | end | ||||
describe 'helper_method :current_account' do | describe 'helper_method :current_account' do | ||||
@@ -1,11 +1,14 @@ | |||||
require "rails_helper" | require "rails_helper" | ||||
feature "Log in" do | 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) | 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 | visit new_user_session_path | ||||
fill_in "user_email", with: email | fill_in "user_email", with: email | ||||
fill_in "user_password", with: password | fill_in "user_password", with: password | ||||