diff --git a/web/spec/features/in_session_spec.rb b/web/spec/features/in_session_spec.rb index 0d4215320..a657162c1 100644 --- a/web/spec/features/in_session_spec.rb +++ b/web/spec/features/in_session_spec.rb @@ -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 diff --git a/web/spec/support/utilities.rb b/web/spec/support/utilities.rb index 872bd736a..4b18b791a 100644 --- a/web/spec/support/utilities.rb +++ b/web/spec/support/utilities.rb @@ -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