forked from External/greenlight
test sessions controller
This commit is contained in:
parent
eaaec47fe6
commit
bfd815abe0
|
@ -48,10 +48,6 @@ class LandingController < ApplicationController
|
|||
render layout: false
|
||||
end
|
||||
|
||||
def auth_failure
|
||||
redirect_to '/'
|
||||
end
|
||||
|
||||
def admin?
|
||||
@user && @user == current_user
|
||||
end
|
||||
|
|
|
@ -34,4 +34,8 @@ class SessionsController < ApplicationController
|
|||
end
|
||||
redirect_to root_path
|
||||
end
|
||||
|
||||
def auth_failure
|
||||
redirect_to '/'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,7 +23,7 @@ Rails.application.routes.draw do
|
|||
get '/users/logout', to: 'sessions#destroy', as: :user_logout
|
||||
|
||||
match '/auth/:provider/callback', to: 'sessions#create', via: [:get, :post]
|
||||
get '/auth/failure', to: 'landing#auth_failure'
|
||||
get '/auth/failure', to: 'sessions#auth_failure'
|
||||
|
||||
# There are two resources [meetings|rooms]
|
||||
# meetings offer a landing page for NON authenticated users to create and join session in BigBlueButton
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
require 'test_helper'
|
||||
|
||||
class SessionsControllerTest < ActionController::TestCase
|
||||
|
||||
setup do
|
||||
@user = users :user1
|
||||
end
|
||||
|
||||
test "should get new" do
|
||||
get :new
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "should redirect to home on auth failture" do
|
||||
get "auth_failure"
|
||||
assert_redirected_to root_path
|
||||
end
|
||||
|
||||
test "should not create session without omniauth env set" do
|
||||
post :create, params: {provider: 'google'}
|
||||
assert_redirected_to root_path
|
||||
end
|
||||
|
||||
test "should create session and user" do
|
||||
provider = 'google'
|
||||
email = 'new_user@email.com'
|
||||
request.env['omniauth.auth'] = {'uid' => 'uid', 'provider' => provider,
|
||||
'info' => {'name' => 'name', 'email' => email}}
|
||||
|
||||
post :create, params: {provider: provider}
|
||||
|
||||
new_user = User.find_by email: email
|
||||
|
||||
assert_not_nil new_user
|
||||
assert_redirected_to meeting_room_path(id: new_user.encrypted_id, resource: 'rooms')
|
||||
assert_equal new_user.id, session[:user_id]
|
||||
end
|
||||
|
||||
test "should destroy current session" do
|
||||
session[:user_id] = @user.id
|
||||
get :destroy
|
||||
assert_redirected_to root_path
|
||||
assert_nil session[:user_id]
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue