Keep ENV['LOCAL_HTTPS'] with ApplicationControllerSpec (fix random fail) (#3479)
* Keep ENV['LOCAL_HTTPS'] with ApplicationControllerSpec (fix random fail) * use climate_control
This commit is contained in:
		
							parent
							
								
									c00ead8a72
								
							
						
					
					
						commit
						41fa53253c
					
				
					 4 changed files with 19 additions and 12 deletions
				
			
		
							
								
								
									
										1
									
								
								Gemfile
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								Gemfile
									
										
									
									
									
								
							|  | @ -70,6 +70,7 @@ end | |||
| 
 | ||||
| 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' | ||||
|  |  | |||
|  | @ -487,6 +487,7 @@ DEPENDENCIES | |||
|   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) | ||||
|  |  | |||
|  | @ -39,18 +39,20 @@ describe ApplicationController, type: :controller do | |||
| 
 | ||||
|   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 | ||||
|  |  | |||
|  | @ -1,11 +1,14 @@ | |||
| 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" | ||||
|     Fabricate(:user, email: email, 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 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue