Merge branch 'develop' into VRFS-2697

This commit is contained in:
Jonathan Kolyer 2015-02-02 05:44:42 +00:00
commit e7bb30f730
4 changed files with 66 additions and 17 deletions

View File

@ -840,7 +840,8 @@
context._.each(mixers, function(mixer) {
var mediaType = mixer.media_type;
if(mediaType == 'RecordingTrack') {
// mediaType == null is for backwards compat with older clients. Can be removed soon
if(mediaType == null || mediaType == "" || mediaType == 'RecordingTrack') {
recordingTrackMixers.push(mixer)
}
else if(mediaType == 'BackingTrack') {

View File

@ -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

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

@ -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