diff --git a/web/Gemfile b/web/Gemfile index 19107a417..9f6af9081 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -95,7 +95,7 @@ end gem 'rack-test' # gem 'rb-fsevent', '0.9.1', :require => false # gem 'growl', '1.0.3' - gem 'poltergeist' , '1.3.0' # can't go to 1.4.0 until this is fixed https://github.com/jonleighton/poltergeist/issues/385 + gem 'poltergeist' , '1.4.1' # can't go to 1.4.0 until this is fixed https://github.com/jonleighton/poltergeist/issues/385 end diff --git a/web/app/assets/javascripts/createSession.js b/web/app/assets/javascripts/createSession.js index a1ce1e956..a8520ec94 100644 --- a/web/app/assets/javascripts/createSession.js +++ b/web/app/assets/javascripts/createSession.js @@ -293,15 +293,15 @@ friendSelectorDialog.showDialog(selectedFriendIds); }); - $('#btn-email-invitation').click(function() { + $('.btn-email-invitation').click(function() { invitationDialog.showEmailDialog(); }); - $('#btn-gmail-invitation').click(function() { + $('div[layout-id="createSession"] .btn-gmail-invitation').click(function() { invitationDialog.showGoogleDialog(); }); - $('#btn-facebook-invitation').click(function() { + $('div[layout-id="createSession"] .btn-facebook-invitation').click(function() { invitationDialog.showFacebookDialog(); }); diff --git a/web/app/views/clients/_createSession.html.erb b/web/app/views/clients/_createSession.html.erb index 008e05b9a..117b79870 100644 --- a/web/app/views/clients/_createSession.html.erb +++ b/web/app/views/clients/_createSession.html.erb @@ -109,7 +109,7 @@
@@ -135,7 +135,7 @@
-->
diff --git a/web/app/views/clients/_sidebar.html.erb b/web/app/views/clients/_sidebar.html.erb index 22b0032bb..00661feeb 100644 --- a/web/app/views/clients/_sidebar.html.erb +++ b/web/app/views/clients/_sidebar.html.erb @@ -61,7 +61,7 @@
diff --git a/web/spec/features/profile_menu_spec.rb b/web/spec/features/profile_menu_spec.rb new file mode 100644 index 000000000..f2f942688 --- /dev/null +++ b/web/spec/features/profile_menu_spec.rb @@ -0,0 +1,91 @@ +require 'spec_helper' + +describe "Profile Menu", :js => true, :type => :feature, :capybara_feature => true do + + subject { page } + + before(:all) do + Capybara.javascript_driver = :poltergeist + Capybara.current_driver = Capybara.javascript_driver + Capybara.default_wait_time = 10 + end + + + let(:user) { FactoryGirl.create(:user) } + + before(:each) do + UserMailer.deliveries.clear + sign_in_poltergeist user + visit "/" + find('h2', text: 'musicians') + # open menu + find('.userinfo').trigger(:click) + end + + describe "Account Home link" do + + before(:each) do + click_link 'Account Home' + end + + it { should have_selector('h1', text: 'my account') } + end + + describe "Identity link" do + + before(:each) do + click_link 'Identity' + end + + it { should have_selector('h2', text: 'identity:') } + end + + describe "Profile link" do + + before(:each) do + click_link 'Profile' + end + + it { should have_selector('h2', text: 'profile:') } + end + + + describe "Audio Gear link" do + + before(:each) do + click_link 'Audio Gear' + end + + it { should have_selector('h2', text: 'audio profiles:') } + end + + describe "Download App link" do + + before(:each) do + click_link 'Download App' + end + + it { + # the download app link opens a new window + page.driver.window_handles.last + page.within_window page.driver.window_handles.last do + should have_selector('h1', text: 'Downloads') + end + } + end + + describe "invite submenu" do + before(:each) do + click_link "Invite Friends" + end + + describe "Email" do + before(:each) do + click_link "Email" + end + + it {should have_selector('label', text: 'Enter email address(es). If multiple addresses, separate with commas.')} + end + end + +end diff --git a/web/spec/features/sidebar_spec.rb b/web/spec/features/sidebar_spec.rb new file mode 100644 index 000000000..e00c4b6af --- /dev/null +++ b/web/spec/features/sidebar_spec.rb @@ -0,0 +1,40 @@ +require 'spec_helper' + +describe "Profile Menu", :js => true, :type => :feature, :capybara_feature => true do + + subject { page } + + before(:all) do + Capybara.javascript_driver = :poltergeist + Capybara.current_driver = Capybara.javascript_driver + Capybara.default_wait_time = 10 + end + + let(:user) { FactoryGirl.create(:user) } + + before(:each) do + UserMailer.deliveries.clear + sign_in_poltergeist user + visit "/" + find('h2', text: 'musicians') + end + + describe "Invite more Users" do + + before(:each) do + find('.sidebar .invite-friend-row').hover + find('.sidebar .invitation-button-holder') + end + + it { should have_selector('.friend-name', text: 'Invite More Friends') } + + describe "try to invite" do + before(:each) do + find('.sidebar .btn-email-invitation').trigger(:click) + end + it {should have_selector('label', text: 'Enter email address(es). If multiple addresses, separate with commas.')} + end + end + + +end