From f61231acccec65973e0063bb525a99d1d7586060 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 31 Aug 2015 14:03:19 +0200 Subject: [PATCH] AutoCommit Mon Aug 31 14:03:19 CEST 2015 --- app/controllers/application_controller.rb | 3 +- .../fetprofiles_controller_spec.rb | 39 +++++++++++++++---- spec/spec_helper.rb | 2 +- spec/support/controller_macros.rb | 6 +-- 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 47e3272..881e9a1 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -52,7 +52,8 @@ else flash[:error] = "You must first login to view this page" session[:user_return_to] = request.url - redirect_to "/users/sign_in" + return redirect_to "/users/sign_in" + end end diff --git a/spec/controllers/fetprofiles_controller_spec.rb b/spec/controllers/fetprofiles_controller_spec.rb index 0c969ad..cf3814b 100644 --- a/spec/controllers/fetprofiles_controller_spec.rb +++ b/spec/controllers/fetprofiles_controller_spec.rb @@ -1,9 +1,9 @@ require 'spec_helper' -describe FetprofilesController do - let(:valid_attributes) { {"vorname"=>"Neuer Vorname"} } - let(:valid_session) { {locale: :de} } - extend ControllerMacros +describe FetprofilesController, :type => :controller do + let(:valid_update_attributes) { {"vorname"=>"Neuer Vorname"} } +# let(:valid_session) { {locale: :de} } + describe "GET index" do let(:action) { get :index, {}, valid_session} it "has a 200 status code" do @@ -27,9 +27,34 @@ describe FetprofilesController do end describe "GET new" do - it "assigns a new fetprofile as @fetprofile" do - get :new, {}, valid_session - assigns(:fetprofile).should be_a_new(Fetprofile) + describe "with fetuser" do + login_fet_user + it "is success" do + get :new, {} + expect(response).to be_success + end + it "assigns @fetprofile" do + get :new, {} + expect(assigns(:fetprofile)).to be_a_new(Fetprofile) + end + end + describe "without fetuser" do + before(:each) do + sign_out :user + end + it "doesn't assign @fetprofile" do + + get :new, {} + expect(assigns(:fetprofile)).to be_nil #_a_new(Fetprofile) + end + it "is expected to raise error" do + bypass_rescue + expect { get :new }.to raise_error(CanCan::AccessDenied) + end + it "is not success" do + get :new, {} + expect(response).not_to be_success + end end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 77fa791..b9dd90f 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -4,7 +4,7 @@ require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' require 'rspec/autorun' require 'sunspot_test/rspec' - +require 'devise' # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index ef976ff..d439641 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,13 +1,13 @@ module ControllerMacros - include Devise::TestHelpers +# include Devise::TestHelpers, :type=>:controller def login_fet_user before(:each) do @request.env["devise.mapping"] = Devise.mappings[:user] user = FactoryGirl.build(:user) user = User.find_by_email(user.email) || user - user.add_role(:fetuser) - user.confirm! user.save + user.add_role(:fetuser) + # user.confirm! sign_in user end end