summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2014-11-15 09:54:08 -0700
committermo khan <mo@mokhan.ca>2014-11-15 09:54:08 -0700
commitf46d8c890b2e93cfbe8536c0b4d8f362336a8910 (patch)
tree772d60864a01512908655fcf331b7f2dbdf8e377
parent9618bd77d2f963b2020012e9c0de59f517ea9eb1 (diff)
convert all specs to use cookie based authentication instead of session.
-rw-r--r--app/controllers/sessions_controller.rb1
-rw-r--r--spec/controllers/environments_controller_spec.rb7
-rw-r--r--spec/controllers/failures_controller_spec.rb7
-rw-r--r--spec/controllers/services_controller_spec.rb7
-rw-r--r--spec/controllers/sessions_controller_spec.rb5
-rw-r--r--spec/controllers/videos_controller_spec.rb7
-rw-r--r--spec/rails_helper.rb3
-rw-r--r--spec/support/authentication.rb6
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