forked from External/greenlight
work on tests
This commit is contained in:
@ -1,7 +1,35 @@
|
||||
require 'test_helper'
|
||||
|
||||
class RoomsControllerTest < ActionDispatch::IntegrationTest
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
|
||||
def setup
|
||||
@steve = users(:steve)
|
||||
@mark = users(:mark)
|
||||
|
||||
@kitchen = rooms(:kitchen)
|
||||
@garage = rooms(:garage)
|
||||
|
||||
@steve.room = @kitchen
|
||||
@mark.room = @garage
|
||||
end
|
||||
|
||||
test 'should redirect to root if not logged in.' do
|
||||
get room_path(@kitchen.uid)
|
||||
|
||||
assert_redirected_to root_path
|
||||
end
|
||||
|
||||
test 'should redirect to correct room if incorrect room.' do
|
||||
post create_session_path, params: {session: {email: @mark.email, password: "mark12345"}}
|
||||
get room_path(@kitchen.uid)
|
||||
|
||||
assert_redirected_to room_path(@garage.uid)
|
||||
end
|
||||
|
||||
test 'should render room if user is owner.' do
|
||||
post create_session_path, params: {session: {email: @steve.email, password: "steve12345"}}
|
||||
get room_path(@kitchen.uid)
|
||||
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
@ -3,27 +3,22 @@ require 'test_helper'
|
||||
class SessionsControllerTest < ActionDispatch::IntegrationTest
|
||||
|
||||
def setup
|
||||
@user = User.new(
|
||||
name: "Example User",
|
||||
username: "Username",
|
||||
provider: "greenlight",
|
||||
email: "user@example.com",
|
||||
password: "example",
|
||||
password_confirmation: "example"
|
||||
)
|
||||
@steve = users(:steve)
|
||||
@kitchen = rooms(:kitchen)
|
||||
|
||||
@user.save!
|
||||
@steve.room = @kitchen
|
||||
end
|
||||
|
||||
test 'can get login page.' do
|
||||
get login_path
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test 'can signin with greenlight account.' do
|
||||
post create_session_path, params: {session: {email: @user.email, password: @user.password}}
|
||||
|
||||
assert_redirected_to room_path(@user.room.uid)
|
||||
assert @user.id, session[:user_id]
|
||||
end
|
||||
|
||||
test 'can signup for greenlight account.' do
|
||||
|
||||
post create_session_path, params: {session: {email: @steve.email, password: "steve12345"}}
|
||||
|
||||
assert_redirected_to room_path(@steve.room.uid)
|
||||
assert @steve.id, session[:user_id]
|
||||
end
|
||||
|
||||
test 'can signup/login with omniauth.' do
|
||||
@ -49,15 +44,32 @@ class SessionsControllerTest < ActionDispatch::IntegrationTest
|
||||
|
||||
assert_not_nil user
|
||||
assert_redirected_to room_path(user.room.uid)
|
||||
assert @user.id, session[:user_id]
|
||||
assert user.id, session[:user_id]
|
||||
end
|
||||
|
||||
test 'handles omniauth failure.' do
|
||||
OmniAuth.config.on_failure = Proc.new do |env|
|
||||
OmniAuth::FailureEndpoint.new(env).redirect_to_failure
|
||||
end
|
||||
|
||||
OmniAuth.config.mock_auth[:twitter] = :invalid_credentials
|
||||
|
||||
get "/auth/twitter"
|
||||
|
||||
request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:twitter]
|
||||
|
||||
assert_no_difference 'User.count' do
|
||||
get omniauth_session_path(provider: "twitter")
|
||||
end
|
||||
|
||||
assert_redirected_to auth_failure_path(message: "invalid_credentials", strategy: "twitter")
|
||||
end
|
||||
|
||||
test 'can logout.' do
|
||||
post create_session_path, params: {session: {email: @user.email, password: @user.password}}
|
||||
assert @user.id, session[:user_id]
|
||||
post create_session_path, params: {session: {email: @steve.email, password: "steve12345"}}
|
||||
assert @steve.id, session[:user_id]
|
||||
|
||||
get logout_path
|
||||
assert_not_equal @user.id, session[:user_id]
|
||||
assert_not_equal @steve.id, session[:user_id]
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -1,5 +1,22 @@
|
||||
require 'test_helper'
|
||||
|
||||
class UsersControllerTest < ActionDispatch::IntegrationTest
|
||||
|
||||
|
||||
test 'can signup for greenlight account.' do
|
||||
post signup_path, params: {
|
||||
user: {
|
||||
name: "Greenlight User",
|
||||
username: "greenlight_user",
|
||||
email: "greenlight@example.com",
|
||||
password: "password",
|
||||
password_confirmation: "password"
|
||||
}
|
||||
}
|
||||
|
||||
user = User.find_by(email: "greenlight@example.com")
|
||||
|
||||
assert_not_nil user
|
||||
assert_redirected_to room_path(user.room.uid)
|
||||
assert user.id, session[:user_id]
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user