From 96ed5a8bd78f90b0c7a8b044c4bd99e3af46dd71 Mon Sep 17 00:00:00 2001
From: Heinrich Lee Yu <heinrich@gitlab.com>
Date: Fri, 26 Apr 2019 23:51:05 +0800
Subject: [PATCH] Upgrade to Capybara 3

Fix whitespace in specs because normalize_ws is slightly
different from Capybara 2 behavior
---
 Gemfile                                         |  2 +-
 Gemfile.lock                                    | 17 +++++++++--------
 spec/features/commits_spec.rb                   |  6 +++---
 spec/features/ics/dashboard_issues_spec.rb      |  2 +-
 spec/features/ics/group_issues_spec.rb          |  2 +-
 spec/features/ics/project_issues_spec.rb        |  2 +-
 .../user_accepts_merge_request_spec.rb          |  3 +--
 .../user_creates_image_diff_notes_spec.rb       |  2 +-
 .../merge_request/user_sees_diff_spec.rb        |  3 +--
 .../user_sees_merge_widget_spec.rb              |  4 ++--
 .../user_suggests_changes_on_diff_spec.rb       |  4 ++--
 .../commits/user_browses_commits_spec.rb        |  2 +-
 .../projects/features_visibility_spec.rb        |  3 ++-
 .../projects/files/undo_template_spec.rb        |  2 +-
 .../projects/files/user_creates_files_spec.rb   |  1 -
 .../projects/labels/user_removes_labels_spec.rb |  2 +-
 .../projects/pipelines/pipeline_spec.rb         |  2 +-
 .../settings/integration_settings_spec.rb       |  2 +-
 spec/features/projects/tree/upload_file_spec.rb |  2 +-
 .../search/user_searches_for_commits_spec.rb    |  2 +-
 spec/features/tags/master_creates_tag_spec.rb   |  2 +-
 spec/support/capybara.rb                        |  2 ++
 .../discussion_comments_shared_example.rb       |  2 +-
 .../shrug_quick_action_shared_examples.rb       |  2 +-
 .../tableflip_quick_action_shared_examples.rb   |  2 +-
 .../pipeline_failed_email.html.haml_spec.rb     |  4 ++--
 .../pipeline_failed_email.text.erb_spec.rb      |  2 +-
 .../pipeline_success_email.html.haml_spec.rb    |  4 ++--
 spec/views/profiles/show.html.haml_spec.rb      |  4 ++--
 29 files changed, 45 insertions(+), 44 deletions(-)

diff --git a/Gemfile b/Gemfile
index c22a3191c3c3a..0569e0649dc99 100644
--- a/Gemfile
+++ b/Gemfile
@@ -347,7 +347,7 @@ group :development, :test do
   # Generate Fake data
   gem 'ffaker', '~> 2.10'
 
-  gem 'capybara', '~> 2.18.0'
+  gem 'capybara', '~> 3.22.0'
   gem 'capybara-screenshot', '~> 1.0.22'
   gem 'selenium-webdriver', '~> 3.141'
 
diff --git a/Gemfile.lock b/Gemfile.lock
index 785a77bc2020a..1f6c8d0599276 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -110,13 +110,14 @@ GEM
       bundler (~> 1.2)
       thor (~> 0.18)
     byebug (9.1.0)
-    capybara (2.18.0)
+    capybara (3.22.0)
       addressable
       mini_mime (>= 0.1.3)
-      nokogiri (>= 1.3.3)
-      rack (>= 1.0.0)
-      rack-test (>= 0.5.4)
-      xpath (>= 2.0, < 4.0)
+      nokogiri (~> 1.8)
+      rack (>= 1.6.0)
+      rack-test (>= 0.6.3)
+      regexp_parser (~> 1.5)
+      xpath (~> 3.2)
     capybara-screenshot (1.0.22)
       capybara (>= 1.0, < 4)
       launchy
@@ -658,7 +659,7 @@ GEM
       pry (~> 0.10)
     pry-rails (0.3.6)
       pry (>= 0.10.4)
-    public_suffix (3.0.3)
+    public_suffix (3.1.0)
     puma (3.12.0)
     puma_worker_killer (0.1.0)
       get_process_mem (~> 0.2)
@@ -750,7 +751,7 @@ GEM
       redis-store (>= 1.2, < 2)
     redis-store (1.6.0)
       redis (>= 2.2, < 5)
-    regexp_parser (1.4.0)
+    regexp_parser (1.5.1)
     regexp_property_values (0.3.4)
     representable (3.0.4)
       declarative (< 0.1.0)
@@ -1040,7 +1041,7 @@ DEPENDENCIES
   browser (~> 2.5)
   bullet (~> 5.5.0)
   bundler-audit (~> 0.5.0)
-  capybara (~> 2.18.0)
+  capybara (~> 3.22.0)
   capybara-screenshot (~> 1.0.22)
   carrierwave (~> 1.3)
   charlock_holmes (~> 0.7.5)
diff --git a/spec/features/commits_spec.rb b/spec/features/commits_spec.rb
index 2adeb37c98a07..e6f44aa7d204d 100644
--- a/spec/features/commits_spec.rb
+++ b/spec/features/commits_spec.rb
@@ -82,7 +82,7 @@
 
           it 'shows pipeline`s data' do
             expect(page).to have_content pipeline.sha[0..7]
-            expect(page).to have_content pipeline.git_commit_message
+            expect(page).to have_content pipeline.git_commit_message.gsub!(/\s+/, ' ')
             expect(page).to have_content pipeline.user.name
           end
         end
@@ -125,7 +125,7 @@
 
         it 'Renders header', :js do
           expect(page).to have_content pipeline.sha[0..7]
-          expect(page).to have_content pipeline.git_commit_message
+          expect(page).to have_content pipeline.git_commit_message.gsub!(/\s+/, ' ')
           expect(page).to have_content pipeline.user.name
           expect(page).not_to have_link('Cancel running')
           expect(page).not_to have_link('Retry')
@@ -147,7 +147,7 @@
 
         it do
           expect(page).to have_content pipeline.sha[0..7]
-          expect(page).to have_content pipeline.git_commit_message
+          expect(page).to have_content pipeline.git_commit_message.gsub!(/\s+/, ' ')
           expect(page).to have_content pipeline.user.name
 
           expect(page).not_to have_link('Cancel running')
diff --git a/spec/features/ics/dashboard_issues_spec.rb b/spec/features/ics/dashboard_issues_spec.rb
index debae0ea930ab..b74bbf848acde 100644
--- a/spec/features/ics/dashboard_issues_spec.rb
+++ b/spec/features/ics/dashboard_issues_spec.rb
@@ -91,7 +91,7 @@
 
         expect(body).to have_text("SUMMARY:test title (in #{project.full_path})")
         # line length for ics is 75 chars
-        expected_description = "DESCRIPTION:Find out more at #{issue_url(issue)}".insert(75, "\r\n")
+        expected_description = "DESCRIPTION:Find out more at #{issue_url(issue)}".insert(75, ' ')
         expect(body).to have_text(expected_description)
         expect(body).to have_text("DTSTART;VALUE=DATE:#{Date.tomorrow.strftime('%Y%m%d')}")
         expect(body).to have_text("URL:#{issue_url(issue)}")
diff --git a/spec/features/ics/group_issues_spec.rb b/spec/features/ics/group_issues_spec.rb
index 4177c7f8704c1..86da720c8be87 100644
--- a/spec/features/ics/group_issues_spec.rb
+++ b/spec/features/ics/group_issues_spec.rb
@@ -66,7 +66,7 @@
 
         expect(body).to have_text("SUMMARY:test title (in #{project.full_path})")
         # line length for ics is 75 chars
-        expected_description = "DESCRIPTION:Find out more at #{issue_url(issue)}".insert(75, "\r\n")
+        expected_description = "DESCRIPTION:Find out more at #{issue_url(issue)}".insert(75, ' ')
         expect(body).to have_text(expected_description)
         expect(body).to have_text("DTSTART;VALUE=DATE:#{Date.tomorrow.strftime('%Y%m%d')}")
         expect(body).to have_text("URL:#{issue_url(issue)}")
diff --git a/spec/features/ics/project_issues_spec.rb b/spec/features/ics/project_issues_spec.rb
index 0d9844be09990..37b90c666bc1a 100644
--- a/spec/features/ics/project_issues_spec.rb
+++ b/spec/features/ics/project_issues_spec.rb
@@ -65,7 +65,7 @@
 
         expect(body).to have_text("SUMMARY:test title (in #{project.full_path})")
         # line length for ics is 75 chars
-        expected_description = "DESCRIPTION:Find out more at #{issue_url(issue)}".insert(75, "\r\n")
+        expected_description = "DESCRIPTION:Find out more at #{issue_url(issue)}".insert(75, ' ')
         expect(body).to have_text(expected_description)
         expect(body).to have_text("DTSTART;VALUE=DATE:#{Date.tomorrow.strftime('%Y%m%d')}")
         expect(body).to have_text("URL:#{issue_url(issue)}")
diff --git a/spec/features/merge_request/user_accepts_merge_request_spec.rb b/spec/features/merge_request/user_accepts_merge_request_spec.rb
index 5fa23dbb99844..3d029ccec1aaa 100644
--- a/spec/features/merge_request/user_accepts_merge_request_spec.rb
+++ b/spec/features/merge_request/user_accepts_merge_request_spec.rb
@@ -15,8 +15,7 @@
 
     click_button('Merge')
 
-    expect(page).to have_content("The changes were merged into #{merge_request.target_branch} with \
-                                 #{merge_request.short_merge_commit_sha}")
+    expect(page).to have_content("The changes were merged into #{merge_request.target_branch} with #{merge_request.short_merge_commit_sha}")
   end
 
   context 'with removing the source branch' do
diff --git a/spec/features/merge_request/user_creates_image_diff_notes_spec.rb b/spec/features/merge_request/user_creates_image_diff_notes_spec.rb
index 5db54f42264c2..3a9a06a6bc302 100644
--- a/spec/features/merge_request/user_creates_image_diff_notes_spec.rb
+++ b/spec/features/merge_request/user_creates_image_diff_notes_spec.rb
@@ -313,7 +313,7 @@ def drag_and_drop_by(element, right_by, down_by)
 
   def create_image_diff_note
     expand_text = 'Click to expand it.'
-    page.all('a', text: expand_text).each do |element|
+    page.all('a', text: expand_text, wait: false).each do |element|
       element.click
     end
 
diff --git a/spec/features/merge_request/user_sees_diff_spec.rb b/spec/features/merge_request/user_sees_diff_spec.rb
index 04b075259194b..8dc5912b8be26 100644
--- a/spec/features/merge_request/user_sees_diff_spec.rb
+++ b/spec/features/merge_request/user_sees_diff_spec.rb
@@ -43,8 +43,7 @@
       visit diffs_project_merge_request_path(project, merge_request)
 
       page.within('.alert') do
-        expect(page).to have_text("Too many changes to show. Plain diff Email patch To preserve
-          performance only 3 of 3+ files are displayed.")
+        expect(page).to have_text("Too many changes to show. Plain diff Email patch To preserve performance only 3 of 3+ files are displayed.")
       end
     end
   end
diff --git a/spec/features/merge_request/user_sees_merge_widget_spec.rb b/spec/features/merge_request/user_sees_merge_widget_spec.rb
index 0066e985fbb09..393077a916f34 100644
--- a/spec/features/merge_request/user_sees_merge_widget_spec.rb
+++ b/spec/features/merge_request/user_sees_merge_widget_spec.rb
@@ -565,7 +565,7 @@ def compared_data
                 click_button 'subtractTest'
 
                 expect(page).to have_content('6.66')
-                expect(page).to have_content(sample_java_failed_message)
+                expect(page).to have_content(sample_java_failed_message.gsub!(/\s+/, ' ').strip)
               end
             end
           end
@@ -610,7 +610,7 @@ def compared_data
                 click_button 'Test#sum when a is 2 and b is 2 returns summary'
 
                 expect(page).to have_content('2.22')
-                expect(page).to have_content(sample_rspec_failed_message)
+                expect(page).to have_content(sample_rspec_failed_message.gsub!(/\s+/, ' ').strip)
               end
             end
           end
diff --git a/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb b/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb
index 04c7f4b6c768b..780de76d2c5ad 100644
--- a/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb
+++ b/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb
@@ -7,8 +7,8 @@
   include RepoHelpers
 
   def expect_suggestion_has_content(element, expected_changing_content, expected_suggested_content)
-    changing_content = element.all(:css, '.line_holder.old').map(&:text)
-    suggested_content = element.all(:css, '.line_holder.new').map(&:text)
+    changing_content = element.all(:css, '.line_holder.old').map { |el| el.text(normalize_ws: true) }
+    suggested_content = element.all(:css, '.line_holder.new').map { |el| el.text(normalize_ws: true) }
 
     expect(changing_content).to eq(expected_changing_content)
     expect(suggested_content).to eq(expected_suggested_content)
diff --git a/spec/features/projects/commits/user_browses_commits_spec.rb b/spec/features/projects/commits/user_browses_commits_spec.rb
index 953517cdff91a..a84fee34669ac 100644
--- a/spec/features/projects/commits/user_browses_commits_spec.rb
+++ b/spec/features/projects/commits/user_browses_commits_spec.rb
@@ -13,7 +13,7 @@
   it 'renders commit' do
     visit project_commit_path(project, sample_commit.id)
 
-    expect(page).to have_content(sample_commit.message)
+    expect(page).to have_content(sample_commit.message.gsub!(/\s+/, ' '))
       .and have_content("Showing #{sample_commit.files_changed_count} changed files")
       .and have_content('Side-by-side')
   end
diff --git a/spec/features/projects/features_visibility_spec.rb b/spec/features/projects/features_visibility_spec.rb
index ab16fdee88350..254e885ce4622 100644
--- a/spec/features/projects/features_visibility_spec.rb
+++ b/spec/features/projects/features_visibility_spec.rb
@@ -68,7 +68,8 @@
       end
 
       it "hides builds when disabled" do
-        allow(Ability).to receive(:allowed?).with(member, :read_builds, project).and_return(false)
+        allow(Ability).to receive(:allowed?).and_return(true)
+        allow(Ability).to receive(:allowed?).with(member, :read_build, project).and_return(false)
 
         visit project_pipelines_path(project)
 
diff --git a/spec/features/projects/files/undo_template_spec.rb b/spec/features/projects/files/undo_template_spec.rb
index fa785ed10effb..9161814539167 100644
--- a/spec/features/projects/files/undo_template_spec.rb
+++ b/spec/features/projects/files/undo_template_spec.rb
@@ -50,7 +50,7 @@ def check_undo_button_display
 def check_content_reverted(template_content)
   find('.template-selectors-undo-menu .btn-info').click
   expect(page).not_to have_content(template_content)
-  expect(find('.template-type-selector .dropdown-toggle-text')).to have_content
+  expect(page).to have_css('.template-type-selector .dropdown-toggle-text')
 end
 
 def select_file_template(template_selector_selector, template_name)
diff --git a/spec/features/projects/files/user_creates_files_spec.rb b/spec/features/projects/files/user_creates_files_spec.rb
index 69f8bd4d31972..264b288ab38fb 100644
--- a/spec/features/projects/files/user_creates_files_spec.rb
+++ b/spec/features/projects/files/user_creates_files_spec.rb
@@ -174,7 +174,6 @@ def submit_new_file(options)
 
       it 'creates and commit new file in forked project', :js do
         expect(page).to have_selector('.file-editor')
-        expect(page).to have_content
 
         find('#editor')
         execute_script("ace.edit('editor').setValue('*.rbca')")
diff --git a/spec/features/projects/labels/user_removes_labels_spec.rb b/spec/features/projects/labels/user_removes_labels_spec.rb
index c231e54decd0a..7f49ddf560f89 100644
--- a/spec/features/projects/labels/user_removes_labels_spec.rb
+++ b/spec/features/projects/labels/user_removes_labels_spec.rb
@@ -41,7 +41,7 @@
 
     it "removes all labels" do
       loop do
-        li = page.first(".label-list-item")
+        li = page.first(".label-list-item", minimum: 0)
         break unless li
 
         li.find('.js-label-options-dropdown').click
diff --git a/spec/features/projects/pipelines/pipeline_spec.rb b/spec/features/projects/pipelines/pipeline_spec.rb
index 1de153db41c3c..77f0f237d0a61 100644
--- a/spec/features/projects/pipelines/pipeline_spec.rb
+++ b/spec/features/projects/pipelines/pipeline_spec.rb
@@ -91,7 +91,7 @@
 
       within '.pipeline-info' do
         expect(page).to have_content("#{pipeline.statuses.count} jobs " \
-                                      "for #{pipeline.ref} ")
+                                      "for #{pipeline.ref}")
         expect(page).to have_link(pipeline.ref,
           href: project_commits_path(pipeline.project, pipeline.ref))
       end
diff --git a/spec/features/projects/settings/integration_settings_spec.rb b/spec/features/projects/settings/integration_settings_spec.rb
index 32959969f54fd..016ccf63f5884 100644
--- a/spec/features/projects/settings/integration_settings_spec.rb
+++ b/spec/features/projects/settings/integration_settings_spec.rb
@@ -41,7 +41,7 @@
         expect(page).to have_content('Issues events')
         expect(page).to have_content('Confidential issues events')
         expect(page).to have_content('Note events')
-        expect(page).to have_content('Merge requests  events')
+        expect(page).to have_content('Merge requests events')
         expect(page).to have_content('Pipeline events')
         expect(page).to have_content('Wiki page events')
       end
diff --git a/spec/features/projects/tree/upload_file_spec.rb b/spec/features/projects/tree/upload_file_spec.rb
index dcf7d314f8ed4..e5dd2f40fdf49 100644
--- a/spec/features/projects/tree/upload_file_spec.rb
+++ b/spec/features/projects/tree/upload_file_spec.rb
@@ -29,6 +29,6 @@
     attach_file('file-upload', txt_file)
 
     expect(page).to have_selector('.multi-file-tab', text: 'doc_sample.txt')
-    expect(find('.blob-editor-container .lines-content')['innerText']).to have_content(File.open(txt_file, &:readline))
+    expect(find('.blob-editor-container .lines-content')['innerText']).to have_content(File.open(txt_file, &:readline).gsub!(/\s+/, ' '))
   end
 end
diff --git a/spec/features/search/user_searches_for_commits_spec.rb b/spec/features/search/user_searches_for_commits_spec.rb
index 28cae444588ef..998f852138437 100644
--- a/spec/features/search/user_searches_for_commits_spec.rb
+++ b/spec/features/search/user_searches_for_commits_spec.rb
@@ -35,7 +35,7 @@
       fill_in('search', with: 'deadbeef')
       click_button('Search')
 
-      expect(page).to have_current_path('/search', only_path: true)
+      expect(page).to have_current_path('/search', ignore_query: true)
     end
 
     it 'finds multiple commits' do
diff --git a/spec/features/tags/master_creates_tag_spec.rb b/spec/features/tags/master_creates_tag_spec.rb
index db2970f33401e..f80ddd050d78b 100644
--- a/spec/features/tags/master_creates_tag_spec.rb
+++ b/spec/features/tags/master_creates_tag_spec.rb
@@ -39,7 +39,7 @@
         project_tag_path(project, 'v3.0'))
       expect(page).to have_content 'v3.0'
       page.within 'pre.wrap' do
-        expect(page).to have_content "Awesome tag message\n\n- hello\n- world"
+        expect(page).to have_content "Awesome tag message - hello - world"
       end
     end
 
diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb
index 14ce3c32e779e..56ac208a025ed 100644
--- a/spec/support/capybara.rb
+++ b/spec/support/capybara.rb
@@ -53,9 +53,11 @@
   )
 end
 
+Capybara.server = :webrick
 Capybara.javascript_driver = :chrome
 Capybara.default_max_wait_time = timeout
 Capybara.ignore_hidden_elements = true
+Capybara.default_normalize_ws = true
 
 # Keep only the screenshots generated from the last failing test suite
 Capybara::Screenshot.prune_strategy = :keep_last_run
diff --git a/spec/support/features/discussion_comments_shared_example.rb b/spec/support/features/discussion_comments_shared_example.rb
index 542f533d59046..0f8af2c5d6df4 100644
--- a/spec/support/features/discussion_comments_shared_example.rb
+++ b/spec/support/features/discussion_comments_shared_example.rb
@@ -84,7 +84,7 @@
       #
       # if dropdown menu is not toggled (and also not present),
       # it's "issue-type" dropdown
-      if first(menu_selector).nil?
+      if first(menu_selector, minimum: 0).nil?
         expect(find(dropdown_selector)).to have_content 'Comment'
 
         find(toggle_selector).click
diff --git a/spec/support/shared_examples/quick_actions/issuable/shrug_quick_action_shared_examples.rb b/spec/support/shared_examples/quick_actions/issuable/shrug_quick_action_shared_examples.rb
index 0a5268085853f..b592cf16f6710 100644
--- a/spec/support/shared_examples/quick_actions/issuable/shrug_quick_action_shared_examples.rb
+++ b/spec/support/shared_examples/quick_actions/issuable/shrug_quick_action_shared_examples.rb
@@ -27,7 +27,7 @@
 
       expect(issuable.description).to eq "bug description\noops ¯\\_(ツ)_/¯"
       expect(page).to have_content 'bug 345'
-      expect(page).to have_content "bug description\noops ¯\\_(ツ)_/¯"
+      expect(page).to have_content "bug description oops ¯\\_(ツ)_/¯"
     end
   end
 
diff --git a/spec/support/shared_examples/quick_actions/issuable/tableflip_quick_action_shared_examples.rb b/spec/support/shared_examples/quick_actions/issuable/tableflip_quick_action_shared_examples.rb
index ef831e39872e8..c174127c4ffbd 100644
--- a/spec/support/shared_examples/quick_actions/issuable/tableflip_quick_action_shared_examples.rb
+++ b/spec/support/shared_examples/quick_actions/issuable/tableflip_quick_action_shared_examples.rb
@@ -27,7 +27,7 @@
 
       expect(issuable.description).to eq "bug description\noops (╯°□°)╯︵ ┻━┻"
       expect(page).to have_content 'bug 345'
-      expect(page).to have_content "bug description\noops (╯°□°)╯︵ ┻━┻"
+      expect(page).to have_content "bug description oops (╯°□°)╯︵ ┻━┻"
     end
   end
 
diff --git a/spec/views/notify/pipeline_failed_email.html.haml_spec.rb b/spec/views/notify/pipeline_failed_email.html.haml_spec.rb
index d9d73f789c5c1..d04affc7df1e3 100644
--- a/spec/views/notify/pipeline_failed_email.html.haml_spec.rb
+++ b/spec/views/notify/pipeline_failed_email.html.haml_spec.rb
@@ -28,7 +28,7 @@
 
       expect(rendered).to have_content "Your pipeline has failed"
       expect(rendered).to have_content pipeline.project.name
-      expect(rendered).to have_content pipeline.git_commit_message.truncate(50)
+      expect(rendered).to have_content pipeline.git_commit_message.truncate(50).gsub!(/\s+/, ' ')
       expect(rendered).to have_content pipeline.commit.author_name
       expect(rendered).to have_content "##{pipeline.id}"
       expect(rendered).to have_content pipeline.user.name
@@ -45,7 +45,7 @@
 
       expect(rendered).to have_content "Your pipeline has failed"
       expect(rendered).to have_content pipeline.project.name
-      expect(rendered).to have_content pipeline.git_commit_message.truncate(50)
+      expect(rendered).to have_content pipeline.git_commit_message.truncate(50).gsub!(/\s+/, ' ')
       expect(rendered).to have_content pipeline.commit.author_name
       expect(rendered).to have_content "##{pipeline.id}"
       expect(rendered).to have_content "by API"
diff --git a/spec/views/notify/pipeline_failed_email.text.erb_spec.rb b/spec/views/notify/pipeline_failed_email.text.erb_spec.rb
index a7d3dc09fd47f..079fb865d7b66 100644
--- a/spec/views/notify/pipeline_failed_email.text.erb_spec.rb
+++ b/spec/views/notify/pipeline_failed_email.text.erb_spec.rb
@@ -30,7 +30,7 @@
 
     expect(rendered).to have_content('Your pipeline has failed')
     expect(rendered).to have_content(pipeline.project.name)
-    expect(rendered).to have_content(pipeline.git_commit_message.truncate(50))
+    expect(rendered).to have_content(pipeline.git_commit_message.truncate(50).gsub!(/\s+/, ' '))
     expect(rendered).to have_content(pipeline.commit.author_name)
     expect(rendered).to have_content("##{pipeline.id}")
     expect(rendered).to have_content(pipeline.user.name)
diff --git a/spec/views/notify/pipeline_success_email.html.haml_spec.rb b/spec/views/notify/pipeline_success_email.html.haml_spec.rb
index a793b37e41223..8ee7f954d701d 100644
--- a/spec/views/notify/pipeline_success_email.html.haml_spec.rb
+++ b/spec/views/notify/pipeline_success_email.html.haml_spec.rb
@@ -28,7 +28,7 @@
 
       expect(rendered).to have_content "Your pipeline has passed"
       expect(rendered).to have_content pipeline.project.name
-      expect(rendered).to have_content pipeline.git_commit_message.truncate(50)
+      expect(rendered).to have_content pipeline.git_commit_message.truncate(50).gsub!(/\s+/, ' ')
       expect(rendered).to have_content pipeline.commit.author_name
       expect(rendered).to have_content "##{pipeline.id}"
       expect(rendered).to have_content pipeline.user.name
@@ -45,7 +45,7 @@
 
       expect(rendered).to have_content "Your pipeline has passed"
       expect(rendered).to have_content pipeline.project.name
-      expect(rendered).to have_content pipeline.git_commit_message.truncate(50)
+      expect(rendered).to have_content pipeline.git_commit_message.truncate(50).gsub!(/\s+/, ' ')
       expect(rendered).to have_content pipeline.commit.author_name
       expect(rendered).to have_content "##{pipeline.id}"
       expect(rendered).to have_content "by API"
diff --git a/spec/views/profiles/show.html.haml_spec.rb b/spec/views/profiles/show.html.haml_spec.rb
index e89a8cb962659..9e7ac0b84fa67 100644
--- a/spec/views/profiles/show.html.haml_spec.rb
+++ b/spec/views/profiles/show.html.haml_spec.rb
@@ -12,8 +12,8 @@
     it 'displays the correct elements' do
       render
 
-      expect(rendered).to have_field('user_name', user.name)
-      expect(rendered).to have_field('user_id', user.id)
+      expect(rendered).to have_field('user_name', with: user.name)
+      expect(rendered).to have_field('user_id', with: user.id)
     end
   end
 end
-- 
GitLab