From f36741f131d700ce153cb27d39d303af750b2f88 Mon Sep 17 00:00:00 2001 From: bruckwubete Date: Tue, 10 Jul 2018 16:00:57 -0400 Subject: [PATCH] added specs for bn-launcher --- spec/controllers/sessions_controller_spec.rb | 32 ++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) 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