diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb index 8713b215..d074b4d7 100644 --- a/spec/controllers/sessions_controller_spec.rb +++ b/spec/controllers/sessions_controller_spec.rb @@ -61,12 +61,24 @@ describe SessionsController, type: :controller do }, ) + OmniAuth.config.mock_auth[:bn_launcher] = OmniAuth::AuthHash.new( + provider: "bn_launcher", + uid: "bn-launcher-user", + info: { + email: "user1@google.com", + name: "User1", + nickname: "nick", + image: "touch.png", + customer: 'ocps' + } + ) + OmniAuth.config.on_failure = proc { |env| OmniAuth::FailureEndpoint.new(env).redirect_to_failure } end - it "should create and login user with omniauth" do + it "should create and login user with omniauth twitter" do request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:twitter] get :omniauth, params: { provider: :twitter } @@ -76,6 +88,16 @@ describe SessionsController, type: :controller do expect(@request.session[:user_id]).to eql(u.id) end + it "should create and login user with omniauth bn launcher" do + request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:bn_launcher] + get :omniauth, params: { provider: 'bn_launcher' } + + u = User.last + expect(u.provider).to eql("ocps") + expect(u.email).to eql("user1@google.com") + expect(@request.session[:user_id]).to eql(u.id) + end + it "should redirect to root on invalid omniauth login" do request.env["omniauth.auth"] = :invalid_credentials get :omniauth, params: { provider: :twitter } @@ -83,10 +105,16 @@ describe SessionsController, type: :controller do expect(response).to redirect_to(root_path) end - it "should not create session without omniauth env set" do + it "should not create session without omniauth env set for google" do get :omniauth, params: { provider: 'google' } expect(response).to redirect_to(root_path) end + + it "should not create session without omniauth env set for bn_launcher" do + get :omniauth, params: { provider: 'bn_launcher' } + + expect(response).to redirect_to(root_path) + end end end