Merge branch 'develop' into feature/site_validator

This commit is contained in:
Jonathan Kolyer 2015-02-10 03:17:33 +00:00
commit fa25e87659
8 changed files with 125 additions and 8 deletions

View File

@ -355,7 +355,7 @@
context._.each(tracks.tracks, function(track) {
if(!track.instrument_id) {
logger.debug("ConfigureTracks validation error: all tracks with ports assigned must specify an instrument.");
context.JK.Banner.showAlert('All tracks with ports assigned must specify an instrument.');
context.JK.Banner.showAlert('Please use the instrument icons to choose what you plan to play on each track.');
return false;
}
});

View File

@ -19,7 +19,7 @@
h2 More Resources:
a href="https://www.youtube.com/watch?v=_7qj5RXyHCo" rel="external"
| See kudos and endorsements from JamKazam users
a href="https://www.kickstarter.com/projects/jamkazam/jamblaster-play-music-in-real-time-with-others-from-home" rel="external"
a href="https://www.kickstarter.com/projects/jamkazam/jamblaster-play-music-in-real-time-with-others-fro" rel="external"
| Visit the JamBlaster page on KickStarter

View File

@ -12,7 +12,7 @@
//= render :partial => 'users/follow_links'
- if Rails.application.config.show_jamblaster_kickstarter_link
.jamfest
%a{ href: 'https://www.kickstarter.com/projects/jamkazam/jamblaster-play-music-in-real-time-with-others-from-home', style: 'font-size:20px;margin-top:11px' }
%a{ href: 'https://www.kickstarter.com/projects/jamkazam/jamblaster-play-music-in-real-time-with-others-fro', style: 'font-size:20px;margin-top:11px' }
= "Check out our new "
%span.jamblaster JamBlaster
= " on "

59
web/lib/tasks/gear.rake Normal file
View File

@ -0,0 +1,59 @@
namespace :gear do
task analyze: :environment do
successful = {types: {}}
Diagnostic.where("type = 'GEAR_SELECTION'").each do |diagnostic|
data = JSON.parse(diagnostic.data)
os = data["summary"]["os"] # MacOSX or Win32
success = data["summary"]["success"] # bool
if success
latency = data["summary"]["score"]["latencyScore"]["latency"]
id = data["summary"]["selectedDevice"]["input"]["info"]["id"]
displayName = data["summary"]["selectedDevice"]["input"]["info"]["displayName"]
type = data["summary"]["selectedDevice"]["input"]["info"]["type"]
store = successful[:types][type]
if !store
store = {}
successful[:types][type] = store
end
deviceData = store[id + ':' + latency.to_i.to_s]
if !deviceData
deviceData = {id: id, displayName: displayName, type: type, latency: latency, count: 0}
store[id + ':' + latency.to_i.to_s] = deviceData
end
deviceData[:count] = deviceData[:count] + 1
end
end
puts "TYPES:"
successful[:types].each do|type, hits|
puts "#{type}"
end
puts ""
puts ""
successful[:types].each do |type, hits|
results = hits.sort_by do |id_latency, deviceData|
deviceData[:latency]
end
puts "--------------- #{type} -----------------"
results.each do |result|
puts "#{result[1][:latency].to_i.to_s.rjust(2)} #{result[1][:displayName]}"
end
puts ""
puts ""
end
end
end

View File

@ -158,8 +158,16 @@ describe "Bands", :js => true, :type => :feature, :capybara_feature => true do
expect(page).to have_selector('.result-name', text: band_musician.name)
end
it "displays photo, name, location, instruments played"
it "displays a hover bubble containing more info on musician"
it "displays photo, name, location for member" do
sign_in_poltergeist fan
visit "/client#/bandProfile/#{band_musician.bands.first.id}"
find('#band-profile-members-link').trigger(:click)
within "div.band-profile-members" do
find(".avatar-small img")
find(".result-name", text: band_musician.name)
find(".result-location", text: "#{band_musician.city}, #{band_musician.state}")
end
end
it "displays any pending band invitations when viewed by current band member" do
friend = user

View File

@ -218,7 +218,6 @@ describe "Feed", :js => true, :type => :feature, :capybara_feature => true do
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
@ -227,7 +226,6 @@ describe "Feed", :js => true, :type => :feature, :capybara_feature => true do
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

View File

@ -84,7 +84,7 @@ describe "In a Session", :js => true, :type => :feature, :capybara_feature => tr
end
it "can rejoin private session as creator" do
pending
#pending
creator, description = create_join_session(user, [finder])
in_client(user) do
@ -95,4 +95,50 @@ describe "In a Session", :js => true, :type => :feature, :capybara_feature => tr
join_session(user, description: description)
end
specify "creator should receive join requests after changing session to 'by approval' (VRFS-2266)" do
creator, description = create_session
in_client(creator) do
set_session_access :by_approval
end
request_to_join_session(finder, description: description)
in_client(creator) do
expand_sidebar :notifications
expect(page).to have_content "#{finder.name} has requested to join your session."
end
end
specify "invitee receives notification when creator invites musician" do
pending "blocked on testing this via front-end - fakeJamClient doesn't support invite UX"
user = FactoryGirl.create(:user)
invitee = FactoryGirl.create(:user)
FactoryGirl.create(:friendship, :user => user, :friend => invitee)
in_client(user) do
create_session
find('#session-invite-musicians').trigger(:click)
find('#btn-choose-friends-update').trigger(:click)
within('#friend-selector-list') { find("tr[user-id='#{invitee.id}']").trigger(:click) }
find('#btn-save-friends').trigger(:click)
find('#btn-save-invites').trigger(:click)
end
in_client(invitee) do
fast_signin(invitee, "/client#/home")
expand_sidebar :notifications
expect(page).to have_content "invited you"
end
end
specify "user is able to see recording in 'Open Recording' modal" do
recording = FactoryGirl.create(:recording, owner: user)
in_client(user) do
create_session
find('#open-a-recording').trigger(:click)
within('table.local-recordings') do
expect(page).to have_content recording.name
end
end
end
end

View File

@ -669,6 +669,12 @@ def sidebar_search_for string, category
wait_for_ajax
end
def expand_sidebar header_name
#search, friends, chat, notifications
panel_id = "panel#{header_name.to_s.capitalize}"
within("div[layout-id='#{panel_id}']") { find('div.panel-header').trigger(:click) }
end
def show_user_menu
page.execute_script("$('ul.shortcuts').show()")
#page.execute_script("JK.UserDropdown.menuHoverIn()")