forked from cybrespace/mastodon
		
	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
 | 
					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'] = ''
 | 
					    ClimateControl.modify LOCAL_HTTPS: '' do
 | 
				
			||||||
    allow(Rails.env).to receive(:production?).and_return(true)
 | 
					      allow(Rails.env).to receive(:production?).and_return(true)
 | 
				
			||||||
    get 'success'
 | 
					      get 'success'
 | 
				
			||||||
    expect(response).to have_http_status(: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'
 | 
					    ClimateControl.modify LOCAL_HTTPS: 'true' do
 | 
				
			||||||
    allow(Rails.env).to receive(:production?).and_return(true)
 | 
					      allow(Rails.env).to receive(:production?).and_return(true)
 | 
				
			||||||
    get 'success'
 | 
					      get 'success'
 | 
				
			||||||
    expect(response).to redirect_to('https://test.host/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
 | 
					  given(:email)    { "test@examle.com" }
 | 
				
			||||||
    email = "test@example.com"
 | 
					  given(:password) { "password" }
 | 
				
			||||||
    password = "password"
 | 
					 | 
				
			||||||
    Fabricate(:user, email: email, 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
 | 
					    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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue