From f1b826fbafcab0d424443d5c4f38fb6c2253f2e8 Mon Sep 17 00:00:00 2001 From: Anthony Davis Date: Sun, 1 Feb 2015 21:40:23 -0600 Subject: [PATCH] VRFS-2193 - test musician display on Feed view according to new spec --- web/spec/features/feed_spec.rb | 28 ++++++++++++++++++++++++++++ web/spec/support/utilities.rb | 17 ++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/web/spec/features/feed_spec.rb b/web/spec/features/feed_spec.rb index 22a642e75..b1522b1d1 100644 --- a/web/spec/features/feed_spec.rb +++ b/web/spec/features/feed_spec.rb @@ -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 diff --git a/web/spec/support/utilities.rb b/web/spec/support/utilities.rb index 81e5c8766..fa4638405 100644 --- a/web/spec/support/utilities.rb +++ b/web/spec/support/utilities.rb @@ -481,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 @@ -496,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