From 8a737b35564464836680c4085735088bacfc51cd Mon Sep 17 00:00:00 2001 From: Steven Miers Date: Sun, 15 Feb 2015 14:44:38 -0600 Subject: [PATCH] VRFS-2473 : Add metronome feature tests. --- web/app/assets/javascripts/fakeJamClient.js | 2 +- web/spec/features/in_session_spec.rb | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/web/app/assets/javascripts/fakeJamClient.js b/web/app/assets/javascripts/fakeJamClient.js index c1c842ca6..5547bc111 100644 --- a/web/app/assets/javascripts/fakeJamClient.js +++ b/web/app/assets/javascripts/fakeJamClient.js @@ -765,7 +765,7 @@ function getPeerState(clientId) { return { - ntp_stable: Math.random() > 0.2 + ntp_stable: Math.random() > 0.5 } } diff --git a/web/spec/features/in_session_spec.rb b/web/spec/features/in_session_spec.rb index 693476818..b9b5b7296 100644 --- a/web/spec/features/in_session_spec.rb +++ b/web/spec/features/in_session_spec.rb @@ -111,6 +111,26 @@ describe "In a Session", :js => true, :type => :feature, :capybara_feature => tr end end + specify "metronome" do + user = FactoryGirl.create(:user) + invitee = FactoryGirl.create(:user) + FactoryGirl.create(:friendship, :user => user, :friend => invitee) + in_client(user) do + create_session + + # Call it 10 times. The fake jam client will randomly ntp_stable:false 50% of the time + 10.times do + find('#open-a-metronome').trigger(:click) + end + sleep(2) + + # we should have received an error one of the times, but it should open eventually: + find('#notification').should have_text("Couldn't open metronome") + expect(page).to have_selector('.track-label[title="Metronome"]') + #save_screenshot("metro.png") + 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)