Merge branch 'develop' of bitbucket.org:jamkazam/jam-cloud into develop
This commit is contained in:
commit
97368b8ed4
|
|
@ -203,4 +203,32 @@ describe "Feed", :js => true, :type => :feature, :capybara_feature => true do
|
|||
|
||||
end
|
||||
|
||||
describe "session participants behavior (VRFS-2193)" do
|
||||
let(:creator) { FactoryGirl.create(:user) }
|
||||
let(:finder_1) { FactoryGirl.create(:user) }
|
||||
let(:finder_2) { FactoryGirl.create(:user) }
|
||||
|
||||
specify "after session ends all participants are shown in Feed" do
|
||||
creator, description = create_join_session creator, finder_1
|
||||
# feed shows user, finder_1
|
||||
formal_leave_by(finder_1)
|
||||
# feed shows user
|
||||
join_session(finder_2, description: description)
|
||||
# feed shows user, finder_2
|
||||
formal_leave_by(finder_2)
|
||||
formal_leave_by(creator)
|
||||
|
||||
#leave_music_session_sleep_delay #erg
|
||||
in_client(creator) { verify_feed_shows_users creator, finder_1, finder_2 }
|
||||
end
|
||||
|
||||
specify "during session only current participants are shown in Feed" do
|
||||
creator, description = create_join_session creator, finder_1
|
||||
formal_leave_by(finder_1)
|
||||
join_session(finder_2, description: description)
|
||||
|
||||
#leave_music_session_sleep_delay #erg
|
||||
in_client(finder_1) { verify_feed_shows_users finder_2, creator }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -464,6 +464,12 @@ def join_session(joiner, options)
|
|||
end
|
||||
end
|
||||
|
||||
def request_to_join_session(joiner, options)
|
||||
join_session(joiner, options.merge(no_verify: true))
|
||||
find('#btn-alert-ok').trigger(:click)
|
||||
# page.should have_no_selector('h1', text: 'Alert')
|
||||
end
|
||||
|
||||
|
||||
|
||||
def emulate_client
|
||||
|
|
@ -475,7 +481,7 @@ def create_join_session(creator, joiners=[], options={})
|
|||
creator, unique_session_desc = create_session(options)
|
||||
|
||||
# find session in second client
|
||||
joiners.each do |joiner|
|
||||
[*joiners].each do |joiner|
|
||||
join_session(joiner, description: unique_session_desc)
|
||||
end
|
||||
|
||||
|
|
@ -490,6 +496,21 @@ def formal_leave_by user
|
|||
end
|
||||
end
|
||||
|
||||
def verify_feed_shows_users *users
|
||||
users = [*users]
|
||||
visit "/client#/feed"
|
||||
find('.feed-details a.details').trigger(:click)
|
||||
within 'div.music-session-history-entry' do
|
||||
users.each do |user|
|
||||
# confirm user avatar exists
|
||||
find("a.avatar-tiny[user-id=\"#{user.id}\"][hoveraction=\"musician\"] img")
|
||||
|
||||
# confirm user name exists
|
||||
find("a.musician-name[user-id=\"#{user.id}\"][hoveraction=\"musician\"]", text: user.name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def start_recording_with(creator, joiners=[], genre=nil)
|
||||
create_join_session(creator, joiners, {genre: genre})
|
||||
in_client(creator) do
|
||||
|
|
@ -529,22 +550,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
|
||||
|
|
|
|||
Loading…
Reference in New Issue