diff options
| author | Robert | 2017-05-29 17:04:42 +0200 |
|---|---|---|
| committer | Robert | 2017-05-29 17:34:42 +0200 |
| commit | fbe3e344cb8c1c4b974317dda9aa57b877e65efc (patch) | |
| tree | 9f1462cd88495dab6861e4944b980d34453ddfa4 /spec | |
| parent | ca2b8c09f0930a4e55c50693f9d95e36ff4c2fc6 (diff) | |
| download | chouette-core-fbe3e344cb8c1c4b974317dda9aa57b877e65efc.tar.bz2 | |
Refs: 3385; cas_session_controller speced
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/controllers/devise/cas_sessions_controller_spec.rb | 26 | ||||
| -rw-r--r-- | spec/controllers/imports_controller_spec.rb | 2 | ||||
| -rw-r--r-- | spec/support/devise.rb | 9 |
3 files changed, 33 insertions, 4 deletions
diff --git a/spec/controllers/devise/cas_sessions_controller_spec.rb b/spec/controllers/devise/cas_sessions_controller_spec.rb new file mode 100644 index 000000000..6459e3b3d --- /dev/null +++ b/spec/controllers/devise/cas_sessions_controller_spec.rb @@ -0,0 +1,26 @@ +RSpec.describe Devise::CasSessionsController, type: :controller do + + login_user + + context 'login is correctly redirected' do + it 'to #service' do + get :new + expect(response).to redirect_to(unauthenticated_root_path) + end + end + + context 'user does not have any boiv:.+ permission' do + it 'cannot login and will be redirected to the login page' do + get :service + expect(response).to redirect_to("http://stif-portail-dev.af83.priv/sessions/login?service=http%3A%2F%2Ftest.host%2Fusers%2Fservice") + end + end + + context 'user does have a boiv:.+ permission' do + it 'can login and will be redirected to the referentials page' do + @user.update_attribute :permissions, (@user.permissions << 'boiv:UnameIt') + get :service + expect(response).to redirect_to(authenticated_root_path) + end + end +end diff --git a/spec/controllers/imports_controller_spec.rb b/spec/controllers/imports_controller_spec.rb index bffb89338..7b575ab61 100644 --- a/spec/controllers/imports_controller_spec.rb +++ b/spec/controllers/imports_controller_spec.rb @@ -1,5 +1,3 @@ -require 'rails_helper' - RSpec.describe ImportsController, :type => :controller do login_user diff --git a/spec/support/devise.rb b/spec/support/devise.rb index 14e316bea..d4a279a41 100644 --- a/spec/support/devise.rb +++ b/spec/support/devise.rb @@ -36,8 +36,8 @@ module DeviseRequestHelper end module DeviseControllerHelper - def login_user - before(:each) do + def setup_user + before do @request.env["devise.mapping"] = Devise.mappings[:user] organisation = Organisation.where(:code => "first").first_or_create(attributes_for(:organisation)) @user = create(:user, :organisation => organisation, @@ -47,6 +47,11 @@ module DeviseControllerHelper 'access_points.create', 'access_points.edit', 'access_points.destroy', 'access_links.create', 'access_links.edit', 'access_links.destroy', 'connection_links.create', 'connection_links.edit', 'connection_links.destroy', 'route_sections.create', 'route_sections.edit', 'route_sections.destroy', 'referentials.create', 'referentials.edit', 'referentials.destroy']) + end + end + def login_user() + setup_user + before do sign_in @user end end |
