summaryrefslogtreecommitdiff
path: root/spec/features/merge_request/user_creates_merge_request_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/merge_request/user_creates_merge_request_spec.rb')
-rw-r--r--spec/features/merge_request/user_creates_merge_request_spec.rb44
1 files changed, 25 insertions, 19 deletions
diff --git a/spec/features/merge_request/user_creates_merge_request_spec.rb b/spec/features/merge_request/user_creates_merge_request_spec.rb
index 1717069a259..97b423f2cc2 100644
--- a/spec/features/merge_request/user_creates_merge_request_spec.rb
+++ b/spec/features/merge_request/user_creates_merge_request_spec.rb
@@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe 'User creates a merge request', :js, feature_category: :code_review_workflow do
include ProjectForksHelper
+ include ListboxHelpers
shared_examples 'creates a merge request' do
specify do
@@ -73,19 +74,9 @@ RSpec.describe 'User creates a merge request', :js, feature_category: :code_revi
expect(page).to have_content('You must select source and target branch')
- first('.js-source-project').click
- first('.dropdown-source-project a', text: forked_project.full_path)
-
- first('.js-target-project').click
- first('.dropdown-target-project li', text: project.full_path)
-
- first('.js-source-branch').click
-
- wait_for_requests
-
- source_branch = 'fix'
-
- first('.js-source-branch-dropdown .dropdown-content a', text: source_branch).click
+ select_project('.js-source-project', forked_project)
+ select_project('.js-target-project', project)
+ select_branch('.js-source-branch', 'fix')
click_button('Compare branches and continue')
@@ -107,7 +98,7 @@ RSpec.describe 'User creates a merge request', :js, feature_category: :code_revi
click_button('Create merge request')
- expect(page).to have_content(title).and have_content("requested to merge #{forked_project.full_path}:#{source_branch} into master")
+ expect(page).to have_content(title).and have_content("requested to merge #{forked_project.full_path}:fix into master")
end
end
end
@@ -153,12 +144,27 @@ RSpec.describe 'User creates a merge request', :js, feature_category: :code_revi
private
def compare_source_and_target(source_branch, target_branch)
- find('.js-source-branch').click
- click_link(source_branch)
-
- find('.js-target-branch').click
- click_link(target_branch)
+ select_branch('.js-source-branch', source_branch)
+ select_branch('.js-target-branch', target_branch)
click_button('Compare branches')
end
+
+ def select_project(selector, project)
+ first(selector).click
+
+ wait_for_requests
+
+ find('.gl-listbox-search-input').set(project.full_path)
+ select_listbox_item(project.full_path)
+ end
+
+ def select_branch(selector, branch)
+ first(selector).click
+
+ wait_for_requests
+
+ find('.gl-listbox-search-input').set(branch)
+ select_listbox_item(branch, exact_text: true)
+ end
end