VRFS-850 - refactor in_session helper for controlling access

This commit is contained in:
Anthony Davis 2015-02-01 20:20:39 -06:00
parent e9d2df58df
commit 1b2a2f481a
2 changed files with 20 additions and 15 deletions

View File

@ -21,7 +21,7 @@ describe "In a Session", :js => true, :type => :feature, :capybara_feature => tr
description = "Public or private, I cant decide!"
create_session(creator: user, description: description)
in_client(user) do
set_session_as_private
set_session_access :private
end
in_client(finder) do
emulate_client
@ -31,7 +31,7 @@ describe "In a Session", :js => true, :type => :feature, :capybara_feature => tr
sign_out_poltergeist(validate: true)
end
in_client(user) do
set_session_as_public
set_session_access :public
end
join_session(finder, description: description) # verify the public session is able to be joined
end
@ -88,7 +88,7 @@ describe "In a Session", :js => true, :type => :feature, :capybara_feature => tr
creator, description = create_join_session(user, [finder])
in_client(user) do
set_session_as_private
set_session_access :private
formal_leave_by user
sign_out_poltergeist user
end

View File

@ -465,6 +465,12 @@ def join_session(joiner, options)
end
def request_to_join_session(joiner, options)
join_session(joiner, options.merge(no_verify: true))
end
def emulate_client
page.driver.headers = { 'User-Agent' => ' JamKazam ' }
@ -529,22 +535,21 @@ def claim_recording(name, description)
page.should have_no_selector('h1', text: 'recording finished')
end
def set_session_as_private()
find('#session-settings-button').trigger(:click)
within('#session-settings-dialog') do
jk_select("Only RSVP musicians may join", '#session-settings-dialog #session-settings-musician-access')
#select('Private', :from => 'session-settings-musician-access')
find('#session-settings-dialog-submit').trigger(:click)
def set_session_access access_type
case access_type
when :only_rsvp, :private
access_level = "Only RSVP musicians may join"
when :by_approval
access_level = "Musicians may join by approval"
when :at_will, :public, :open
access_level = "Musicians may join at will"
else
access_level = "Musicians may join at will"
end
# verify it's dismissed
page.should have_no_selector('h1', text: 'update session settings')
end
def set_session_as_public()
find('#session-settings-button').trigger(:click)
within('#session-settings-dialog') do
jk_select("Musicians may join at will", '#session-settings-dialog #session-settings-musician-access')
# select('Public', :from => 'session-settings-musician-access')
jk_select(access_level, '#session-settings-dialog #session-settings-musician-access')
find('#session-settings-dialog-submit').trigger(:click)
end
# verify it's dismissed