diff options
| author | mo khan <mo@mokhan.ca> | 2014-11-15 09:54:08 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2014-11-15 09:54:08 -0700 |
| commit | f46d8c890b2e93cfbe8536c0b4d8f362336a8910 (patch) | |
| tree | 772d60864a01512908655fcf331b7f2dbdf8e377 | |
| parent | 9618bd77d2f963b2020012e9c0de59f517ea9eb1 (diff) | |
convert all specs to use cookie based authentication instead of session.
| -rw-r--r-- | app/controllers/sessions_controller.rb | 1 | ||||
| -rw-r--r-- | spec/controllers/environments_controller_spec.rb | 7 | ||||
| -rw-r--r-- | spec/controllers/failures_controller_spec.rb | 7 | ||||
| -rw-r--r-- | spec/controllers/services_controller_spec.rb | 7 | ||||
| -rw-r--r-- | spec/controllers/sessions_controller_spec.rb | 5 | ||||
| -rw-r--r-- | spec/controllers/videos_controller_spec.rb | 7 | ||||
| -rw-r--r-- | spec/rails_helper.rb | 3 | ||||
| -rw-r--r-- | spec/support/authentication.rb | 6 |
8 files changed, 20 insertions, 23 deletions
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 0864113..19978bd 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -22,6 +22,7 @@ class SessionsController < ApplicationController def destroy reset_session + cookies.delete(:raphael) redirect_to new_session_path end end diff --git a/spec/controllers/environments_controller_spec.rb b/spec/controllers/environments_controller_spec.rb index 3e9dbac..6b84edd 100644 --- a/spec/controllers/environments_controller_spec.rb +++ b/spec/controllers/environments_controller_spec.rb @@ -1,12 +1,9 @@ require 'rails_helper' describe EnvironmentsController do - let(:user) { user_session.user } - let(:user_session) { create(:session) } + let(:user) { create(:user) } - before :each do - session[:user_session_id] = user_session.id - end + before { http_login(user) } describe '#index' do let(:first_env) { create(:environment) } diff --git a/spec/controllers/failures_controller_spec.rb b/spec/controllers/failures_controller_spec.rb index f406df1..70fb875 100644 --- a/spec/controllers/failures_controller_spec.rb +++ b/spec/controllers/failures_controller_spec.rb @@ -1,12 +1,9 @@ require 'rails_helper' describe FailuresController do - let(:user) { user_session.user } - let(:user_session) { create(:session) } + let(:user) { create(:user) } - before :each do - session[:user_session_id] = user_session.id - end + before { http_login(user) } describe "#index" do let!(:failure) { create(:failure) } diff --git a/spec/controllers/services_controller_spec.rb b/spec/controllers/services_controller_spec.rb index 30b33d3..7797f94 100644 --- a/spec/controllers/services_controller_spec.rb +++ b/spec/controllers/services_controller_spec.rb @@ -1,12 +1,9 @@ require 'rails_helper' describe ServicesController do - let(:user) { user_session.user } - let(:user_session) { create(:session) } + let(:user) { create(:user) } - before :each do - session[:user_session_id] = user_session.id - end + before { http_login(user) } describe "#index" do let!(:service) { create(:service) } diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb index b82b8a1..088633c 100644 --- a/spec/controllers/sessions_controller_spec.rb +++ b/spec/controllers/sessions_controller_spec.rb @@ -44,8 +44,9 @@ describe SessionsController do let(:user_session) { create(:session) } it "removes the current session" do - delete :destroy, { id: 'mine' }, { user_session_id: user_session.id } - expect(session[:user_session_id]).to be_nil + cookies.signed[:raphael] = user_session.id + delete :destroy, { id: 'mine' } + expect(request.cookies[:raphael]).to be_nil expect(response).to redirect_to(new_session_path) end end diff --git a/spec/controllers/videos_controller_spec.rb b/spec/controllers/videos_controller_spec.rb index 3377037..3bf8400 100644 --- a/spec/controllers/videos_controller_spec.rb +++ b/spec/controllers/videos_controller_spec.rb @@ -1,12 +1,9 @@ require 'rails_helper' describe VideosController do - let(:user_session) { create(:session) } - let(:user) { user_session.user } + let(:user) { create(:user) } - before :each do - session[:user_session_id] = user_session.id - end + before { http_login(user) } describe "#index" do render_views diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 058155e..f0a689c 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -18,7 +18,7 @@ require 'rspec/rails' # directory. Alternatively, in the individual `*_spec.rb` files, manually # require only the support files necessary. # -# Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } +Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } # Checks for pending migrations before tests are run. # If you are not using ActiveRecord, you can remove this line. @@ -26,6 +26,7 @@ ActiveRecord::Migration.maintain_test_schema! RSpec.configure do |config| config.include FactoryGirl::Syntax::Methods + config.include HttpAuthentication, type: :controller config.before(:suite) do DatabaseCleaner.clean_with(:truncation) diff --git a/spec/support/authentication.rb b/spec/support/authentication.rb new file mode 100644 index 0000000..18c4f31 --- /dev/null +++ b/spec/support/authentication.rb @@ -0,0 +1,6 @@ +module HttpAuthentication + def http_login(user, password = 'password') + user_session = create(:session, user: user) + cookies.signed[:raphael] = user_session.id + end +end |
