From 9470d05c70c15df75ae6be45812967abf89ae59a Mon Sep 17 00:00:00 2001
From: Grzegorz Bizon <grzegorz.bizon@ntsn.pl>
Date: Sun, 13 Dec 2015 00:39:47 +0100
Subject: [PATCH] Add spinach test for note polling

This also increases capybara timeout to 15 seconds (note polling
interval). Capybara will look for new note for this period of time.
---
 features/project/issues/issues.feature  |  6 ++++++
 features/steps/project/issues/issues.rb | 10 ++++++++++
 features/support/capybara.rb            |  2 +-
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/features/project/issues/issues.feature b/features/project/issues/issues.feature
index f08b30e0b88..ab234bc7507 100644
--- a/features/project/issues/issues.feature
+++ b/features/project/issues/issues.feature
@@ -197,3 +197,9 @@ Feature: Project Issues
     And I should not see labels field
     And I submit new issue "500 error on profile"
     Then I should see issue "500 error on profile"
+
+  @javascript
+  Scenario: Another user adds a comment to issue I'm currently viewing
+    Given I visit issue page "Release 0.4"
+    And another user adds a comment with text "Yay!" to issue "Release 0.4"
+    Then I should see a new comment with text "Yay!"
diff --git a/features/steps/project/issues/issues.rb b/features/steps/project/issues/issues.rb
index a13044c3ae1..4a7ff21d385 100644
--- a/features/steps/project/issues/issues.rb
+++ b/features/steps/project/issues/issues.rb
@@ -284,6 +284,16 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
     end
   end
 
+  step 'another user adds a comment with text "Yay!" to issue "Release 0.4"' do
+    issue = Issue.find_by!(title: 'Release 0.4')
+    create(:note_on_issue, noteable: issue,  note: 'Yay!')
+  end
+
+  step 'I should see a new comment with text "Yay!"' do
+    page.within '#notes' do
+      expect(page).to have_content('Yay!')
+    end
+  end
   def filter_issue(text)
     fill_in 'issue_search', with: text
   end
diff --git a/features/support/capybara.rb b/features/support/capybara.rb
index 31dbf0feb2f..4156c7ec484 100644
--- a/features/support/capybara.rb
+++ b/features/support/capybara.rb
@@ -2,7 +2,7 @@ require 'spinach/capybara'
 require 'capybara/poltergeist'
 
 # Give CI some extra time
-timeout = (ENV['CI'] || ENV['CI_SERVER']) ? 90 : 10
+timeout = (ENV['CI'] || ENV['CI_SERVER']) ? 90 : 15
 
 Capybara.javascript_driver = :poltergeist
 Capybara.register_driver :poltergeist do |app|
-- 
GitLab